php中3DES加密技術

2021-09-01 22:51:27 字數 1124 閱讀 9710

因為工作中要用到加密,介面中要求也是用密文傳輸資料,用到3des加密,就研究了一下。

在網上也找了好多,但是都不可以用,沒法正式執行,終於找到乙個可以執行的,自己又修改了一下,記錄下來,以後還可能會用到。

下面安裝我要呼叫的介面文例項:

介面要求:先用

3des對資料進行加密,在用

base64

進行加密。即:

base64(3des(value))

。3des加密規則:

模式:ec

b填充模式:

pkcs7padding

資料塊大小:

8位元組(

64位)

初始化向量:無

金鑰:***************xx

首先是乙個封裝好的類檔案:

encrypt_class.php//檔名

<?php

class crypt3des

function encrypt($input)

function decrypt($encrypted)

function pkcs5_pad ($text, $blocksize)

function pkcs5_unpad($text));

if ($pad > strlen($text))

if (strspn($text, chr($pad), strlen($text) - $pad) != $pad)

return substr($text, 0, -1 * $pad);

}function paddingpkcs7($data)

} $rep=new crypt3des('123456');//初始化乙個物件,並修改預設金鑰

$input="hello world";

echo "原文:".$input."

"; $encrypt_card=$rep->encrypt($input);

echo "加密:".$encrypt_card."

"; echo "解密:".$rep->decrypt($rep->encrypt($input));

?>

這是乙個非常有用的3des加密,在多數情況下可以直接拿來用。

PHP進行3des加密

封裝加密解密類 use think controller header content type text html charset utf 8 class encrypt extends controller 檢查加密key,iv的長度是否符合演算法要求 key this fixlen key,m...

3des演算法加密

實現的原理 public class encryption 執行3des加密 param secretkey 秘鑰 param datastring 明文 return base64編碼文字 public static string encryptdes string secretkey,strin...

Des與3Des加密解密

des和3des演算法 public class des b ret.tostring return ret.tostring 3des加密 金鑰不能每8位重複,例如 123456781234567812345678,如果這樣則演算法退化為des,c 會檢測,不能使用 明文 金鑰 public st...