Алгоритм расшифровки данных для программы WeChat на языке Go
Официальная документация по разработке WeChat — ссылка на документ о подписи и шифровании
1. Первая ссылка на документацию (уже не работает)
http://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html?t=20161107
2. Старая ссылка (уже не работает)
https://developers.weixin.qq.com/miniprogram/dev/api/signature.html
3. Последняя ссылка (актуальная официальная документация)
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html
Использование
go get github.com/xlstudio/wxbizdatacrypt
Импорт
import (
"github.com/xlstudio/wxbizdatacrypt"
)
Пример использования
package main
import (
"fmt"
"github.com/xlstudio/wxbizdatacrypt"
)
func main() {
appId := "wx4f4bc4dec97d474b"
sessionKey := "tiihtNczf5v6AKRyjwEUhQ=="
encryptedData := "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTyaGS9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+3hVbJSRgv+4lGOETKUQz6OYStslQ142dNCuabNPGBzlooOmB231qMM85d2/fV6ChevvXvQP8Hkue1poOFtnEtpyxVLW1zAo6/1Xx1COxFvrc2d7UL/lmHInNlxuacJXwu0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn/Hz7saL8xz+W//FRAUid1OksQaQx4CMs8LOddcQhULW4ucetDf96JcR3g0gfRK4PC7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns/8wR2SiRS7MNACwTyrGvt9ts8p12PKFdlqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYVoKlaRv85IfVunYzO0IKXsyl7JCUjCpoG20f0a04COwfneQAGGwd5oa+T8yO5hzuyDb/XcxxmK01EpqOyuxINew=="
iv := "r7BXXKkLb8qrSNn05n0qiA=="
pc := wxbizdatacrypt.WxBizDataCrypt{AppId: appId, SessionKey: sessionKey}
result, err := pc.Decrypt(encryptedData, iv, true) //Третий параметр: если нужно вернуть данные в формате JSON, используется значение true, если в формате map — false
if err != nil {
fmt.Println(err)
} else {
fmt.Println(result)
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )