微信 消息加解密說明

2019-03-14 11:40 更新

消息加解密說明

公眾號消息加解密是公眾平臺為了進(jìn)一步加強(qiáng)公眾號安全保障,提供的新機(jī)制。開發(fā)者需注意,公眾賬號主動調(diào)用API的情況將不受影響。只有被動回復(fù)用戶的消息時,才需要進(jìn)行消息加解密。消息加解密的具體修改包括:

1.新增消息體簽名驗證,用于公眾平臺和公眾賬號驗證消息體的正確性
2.針對推送給微信公眾賬號的普通消息和事件消息,以及推送給設(shè)備公眾賬號的設(shè)備消息進(jìn)行加密
3.公眾賬號對密文消息的回復(fù)也要求加密

請開發(fā)者查看接入指引和開發(fā)者FAQ來接入消息體簽名及加解密功能:接入指引,開發(fā)者FAQ,若關(guān)注技術(shù)實現(xiàn),可查看技術(shù)方案:技術(shù)方案


啟用加解密功能(即選擇兼容模式或安全模式)后,公眾平臺服務(wù)器在向公眾賬號服務(wù)器配置地址(可在“開發(fā)者中心”修改)推送消息時,URL將新增加兩個參數(shù)(加密類型和消息體簽名),并以此來體現(xiàn)新功能。加密算法采用AES,具體的加解密流程和方案請看接入指引、技術(shù)方案和示例代碼。


為了配合消息加密功能的上線,并幫助開發(fā)者適配新特性,公眾平臺提供了3種加解密的模式供開發(fā)者選擇,即明文模式、兼容模式、安全模式(可在“開發(fā)者中心”選擇相應(yīng)模式),選擇兼容模式和安全模式前,需在開發(fā)者中心填寫消息加解密密鑰EncodingAESKey。

明文模式:維持現(xiàn)有模式,沒有適配加解密新特性,消息體明文收發(fā),默認(rèn)設(shè)置為明文模式
兼容模式:公眾平臺發(fā)送消息內(nèi)容將同時包括明文和密文,消息包長度增加到原來的3倍左右;公眾號回復(fù)明文或密文均可,不影響現(xiàn)有消息收發(fā);開發(fā)者可在此模式下進(jìn)行調(diào)試
安全模式(推薦):公眾平臺發(fā)送消息體的內(nèi)容只含有密文,公眾賬號回復(fù)的消息體也為密文,建議開發(fā)者在調(diào)試成功后使用此模式收發(fā)消息


什么是EncodingAESKey?

微信公眾平臺采用AES對稱加密算法對推送給公眾帳號的消息體對行加密,EncodingAESKey則是加密所用的秘鑰。公眾帳號用此秘鑰對收到的密文消息體進(jìn)行解密,回復(fù)消息體也用此秘鑰加密。

此外,微信公眾平臺為開發(fā)者提供了5種語言的示例代碼(包括C++、php、Java、Python和C#版本,點擊下載)。

消息加密

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號