摘要:今天在對接一個第三方接口的時候,對方需要模式下的加密。這里簡單寫一個獲取庫存,更新價格信息加密結果解密結果加密數據解密數據執行方法加密結果解密結果
今天在對接一個第三方接口的時候,對方需要AES CBC模式下的加密。這里簡單寫一個demo
class Model_Junjingbao extends Model { private static $_partnerKey = "6d70a09e4d0f8095"; //獲取庫存,更新價格信息 public static function test($productId=2780) { $data = array( "productId"=>$productId, "startTime"=>"2018-04-09", "endTime"=>"2018-04-10" ); $str = json_encode($data); $xcrypt = self::aes_cbc_pkpadding($str); var_dump($xcrypt);//加密結果 var_dump(self::aes_cbc_pkpadding_back($xcrypt));//解密結果 } //AES加密數據 private static function aes_cbc_pkpadding($str) { $block= mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC); $pad=$block-(strlen($str)%$block); if($pad<=$block) { $char=chr($pad); $str.=str_repeat($char,$pad); } $xcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, self::$_partnerKey, $str, MCRYPT_MODE_CBC); return $xcrypt; } //AES解密數據 private static function aes_cbc_pkpadding_back($xcrypt) { $string = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, self::$_partnerKey, $xcrypt, MCRYPT_MODE_CBC); $slast = ord(substr($string, -1)); $slastc = chr($slast); if (preg_match("/$slastc{" . $slast . "}/", $string)) { $string = substr($string, 0, strlen($string) - $slast); return $string; } else { return false; } } }
執行test方法
加密結果
??×?“j·A" Oè[ótcú?2Y‰XXò|??ép?p[DaFw`?oàá1d&x4(??l?2¤£‰?±ü‘I?"? Y?sód°Y·^$’4h?è??÷G?)
解密結果
{"productId":2780,"startTime":"2018-04-09","endTime":"2018-04-10"}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29400.html
摘要:下文中我們將分別使用和來實現加解密,二者同步加解密的要點為使用何種填充算法。下面我們給出填充算法的實現填充算法移去填充算法默認使用自動對待加密數據進行填充以對齊加密算法數據塊長度。需固定使用,并通過調整的長度,來實現加密算法。 對稱加解密算法中,當前最為安全的是 AES 加密算法(以前應該是是 DES 加密算法),PHP 提供了兩個可以用于 AES 加密算法的函數簇:Mcrypt 和 ...
摘要:填充算法與基本上是可以通用的。年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。常用庫介紹是一個功能強大的加密算法擴展庫。為提供了各種各樣的加密算法。目前已支持的算法包括是使用編寫的加密工具包。 本文示例代碼詳見:https://github.com/52fhy/cryp... DES DES全稱為Data Encryption Standard,即數據加密標準,是一種使用密鑰加...
摘要:支持多種加解密方案這里主要記錄一下使用進行位的加解密前端加密是不安全的不安全的不安全的初始化一個文件直接全部回車就行啦安裝在同級目錄下新建一個文件寫入以下內容導入包定義加解密的都放這里了加密還有啥意義設置數據塊長度生成密鑰字節數 crypto-js支持多種加/解密方案, 這里主要記錄一下使用 crypto-js 進行 AES 128位 的加/解密; 前端加密是不安全的, 不安全的, 不...
閱讀 1138·2023-04-26 00:12
閱讀 3291·2021-11-17 09:33
閱讀 1073·2021-09-04 16:45
閱讀 1205·2021-09-02 15:40
閱讀 2192·2019-08-30 15:56
閱讀 2976·2019-08-30 15:53
閱讀 3561·2019-08-30 11:23
閱讀 1942·2019-08-29 13:54