国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP mcrypt可逆加密算法分析

2024-05-04 23:17:37
字體:
供稿:網(wǎng)友
數(shù)據(jù)加密在我們生活中的地位已經(jīng)越來越重要了,尤其是考慮到在網(wǎng)絡(luò)上發(fā)生的大量交易和傳輸?shù)拇罅繑?shù)據(jù)。對于不需要還原為原始數(shù)據(jù)的信息我們可以使用MD5、sha1等不可逆加密算法對數(shù)據(jù)進行加密處理,但對于交易信息等需要還原為原始數(shù)據(jù)的重要信息則必須使用可還原的加密算法進行加密了。當(dāng)然你可以自己寫一個可逆加密的算法進行加密和解密計算。本文中我們介紹的是使用 mcrypt模塊進行加密解密操作。
Mcrypt的優(yōu)點不僅僅在于其提供的加密算法較多,在windows下隨PHP包一起發(fā)布,還在于它可以對數(shù)據(jù)進行加/解密處理,此外,它還提供了包括DES算法在內(nèi)的35種處理數(shù)據(jù)用的函數(shù)。

復(fù)制代碼 代碼如下:


/**
+-----------------------------------------------------
* Mcrypt 加密/解密
* @param String $date 要加密和解密的數(shù)據(jù)
* @param String $mode encode 默認(rèn)為加密/decode 為解密
* @return String
* @author zxing@97md.net Mon Sep 14 22:59:28 CST 2009
+-----------------------------------------------------
* @example
*/
function ZxingCrypt($date,$mode = 'encode'){
$key = md5('zxing');//用MD5哈希生成一個密鑰,注意加密和解密的密鑰必須統(tǒng)一
if ($mode == 'decode'){
$date = base64_decode($date);
}
if (function_exists('mcrypt_create_iv')){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
}
if (isset($iv) && $mode == 'encode'){
$passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
}elseif (isset($iv) && $mode == 'decode'){
$passcrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
}
if ($mode == 'encode'){
$passcrypt = base64_encode($passcrypt);
}
return $passcrypt;
}


別的網(wǎng)友的代碼

復(fù)制代碼 代碼如下:


<?php
$td = mcrypt_module_open(MCRYPT_DES,'','ecb',''); //使用MCRYPT_DES算法,ecb模式
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = "ery secret key";//密鑰
$key = substr(md5($key), 0, $ks);
mcrypt_generic_init($td, $key, $iv); //初始處理
//加密
$encrypted = mcrypt_generic($td, 'This is very important data');
//結(jié)束處理
mcrypt_generic_deinit($td);
//初始解密處理
mcrypt_generic_init($td, $key, $iv);
//解密
$decrypted = mdecrypt_generic($td, $encrypted);
//結(jié)束
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
//解密后,可能會有后續(xù)的/0,需去掉
echo trim($decrypted) . "/n";
?>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 厦门市| 田林县| 蒙山县| 内黄县| 潼关县| 开平市| 遂川县| 双辽市| 阿瓦提县| 千阳县| 琼结县| 靖安县| 汉中市| 武宁县| 平安县| 兰溪市| 安化县| 安顺市| 七台河市| 名山县| 垫江县| 微博| 清苑县| 大庆市| 桦甸市| 河东区| 新兴县| 泗水县| 宣汉县| 拉孜县| 宝山区| 邢台县| 平昌县| 广西| 宁陵县| 宽甸| 武乡县| 沂南县| 苏州市| 文水县| 台东县|