日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

openssl php api,PHP7使用openssl解密易班API中的用户数据

發布時間:2023/12/2 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openssl php api,PHP7使用openssl解密易班API中的用户数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP7使用openssl解密易班API中的用戶數據

一、mcrypt擴展解密

自從PHP版本更新到了7.1以上以后,mcrypt擴展被廢棄,使用mcrypt擴展會出現如下圖的報錯。只能使用openssl來代替。

然而易班輕應用提供的還是舊版本的mcrypt擴展,這將導致php版本升級到7.1以上的版本會提示沒有這個函數,以下是易班文檔中心提供的解密代碼,使用的加密方式為AES-128-CBC。<?php

$postObject = addslashes($_GET["verify_request"]);//獲取verify_request參數值

$postStr = pack("H*", $postObject);

$appID = "";//應用appID

$appSecret = "";//應用appSecret

$postInfo = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $appSecret, $postStr, MCRYPT_MODE_CBC, $appID);

$postInfo = rtrim($postInfo);

?>

二、改為openssl解密

測試過程中將以上代碼使用openssl該寫后使用AES-128-CBC解密失敗,后將其改為AES-256-CBC后,option選擇OPENSSL_RAW_DATA|OPENSSL_NO_PADDING或者1|3均可解密成功(這里測試必須使用2個選項否則解密失敗)。<?php

$data = "5638b78a47bab5db7ec413d2b1dff605fe0782d51683a7cf20b5341c021eb11abb1f057260bf45c6a942a5410c4ee16c17828cc64c7f0cecce722af1ba50921a6b2a1b1b670f690809f20cca10abe17ea87c2d63fb7448f1fbd23173239c2f0017988b06e282436f12315d0524639e9332b9fde760a30e9eecb4a73f8f19890c56923727d02318a0738a9d1f85466d3c0e8d63e3a244fe90dbfa95d0854e2e46ed4bbb800accb6c99af1bc2c0ae5111f0defc78cd76088a0dfe17eec3befa18c91bb5fc4b5c3fe10e659e7e646b9a5ea31c5e1630debddc24c9fa79e60d1c3520781bcb77840692d0c399dc2a7309c545a6fc0786b5aba101377e92bf484efb6";

$postStr = pack("H*", $data);

//16位key密鑰

$appID = '5a78142f61c73774';

//32位的iv向量

$appSecret ='d2eb797fd023d049a53a033c1d359971';

$pinfo = openssl_decrypt($postStr,"AES-256-CBC",$appSecret,OPENSSL_RAW_DATA|OPENSSL_NO_PADDING,$appID);

print_r($pinfo);

?>

解密后的結果如下:{

"visit_time": 1566317331,

"visit_user": {

"userid": "12543770",

"username": "雨落凋殤",

"usernick": "雨落凋殤",

"usersex": "M"

},

"visit_oauth": {

"access_token": "ca2441e60276fab919c12150dd15d9fade201e48",

"token_expires": "1566922131"

}

}

三、總結

經過上面的mcrypt的解密方式AES-128-CBC轉換為openssl后必須使用AES-256-CBC才能解密成功。博主也沒弄清具體原因。本文如有問題歡迎評論指正!

總結

以上是生活随笔為你收集整理的openssl php api,PHP7使用openssl解密易班API中的用户数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。