PHP長明文對稱加密 PHP實現對稱加密

2021-10-13 16:31:02 字數 1408 閱讀 8341

以下是封裝的乙個類

xcrypt.php

* 常用對稱加密演算法類

* 支援金鑰:64/128/256 bit(位元組長度8/16/32)

* 支援演算法:des/aes(根據金鑰長度自動匹配使用:des:64bit aes:128/256bit)

* 支援模式:cbc/ecb/ofb/cfb

* 密文編碼:base64字串/十六進製制字串/二進位制字串流

* 填充方式: pkcs5padding(des)

* @author: linvo

* @version: 1.0.0

* @date: 2013/1/10

class xcrypt else else );

if ($pad > strlen($text)) return false;

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

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

return $ret;

private function _hex2bin($hex = false){

$ret = $hex !== false && preg_match('/^[0-9a-fa-f]+$/i', $hex) ? pack("h*", $hex) : false;

return $ret;

以下是測試,隨便定義乙個.php輸出

header('content-type:text/html;charset=utf-8;');

include "xcrypt.php";

echo '

';
$a = isset($_get['a']) ? $_get['a'] : '測試';

//金鑰

$key = '12345678123456781234567812345678'; //256 bit 24位

$key = '1234567812345678'; //128 bit 16位

$key = '12345678'; //64 bit 8位

//設定模式和iv

$m = new xcrypt($key, 'cbc', 'auto');

// //獲取向量值

// echo '向量:';

// var_dump($m->getiv());

$b=$m->encrypt($a,'base64');

$c=$m->decrypt($b,'base64');

var_dump($b);

echo "

";var_dump($c);

輸出結果

string(12) "roqtuzqmqog="

string(6) "測試"

PHP長明文對稱加密 PHP實現對稱加密與解密

這篇文章主要介紹了php實現的簡單對稱加密與解密方法,結合例項形式總結了常見的php對稱加密與解密操作方法,需要的朋友可以參考下 方法一 yii自帶的加密方法 加密 var string 要加密的值 secretkey wwj data res u id 解密 var type 加密前的值 aid ...

PHP長明文對稱加密 PHP AES對稱加密演算法

利用php加密庫 mcrypt 進行aes加密解密 aes加密類class aesmcrypt this bit bit this key key this iv iv this mode mode switch this bit public function encrypt data publi...

php實現非對稱加密

使用非對稱加密主要是借助openssl的公鑰和私鑰,用公鑰加密私鑰解密,或者私鑰加密公鑰解密。1.安裝openssl和 php 的openssl擴充套件 2.生成私鑰 openssl genrsa 用於生成 rsa私鑰檔案,生成是可以指定私鑰長度和密碼保護 python view plain cop...