PHP使用DES進行加密與解密的方法詳解
DES是一種標準的數(shù)據(jù)加密算法,關(guān)于這個算法的詳細介紹可以參考wiki和百度百科:
php中有一個擴展可以支持DES的加密算法,是:extension=php_mcrypt.dll
在配置文件中將這個擴展打開還不能夠在windows環(huán)境下使用
需要將PHP文件夾下的 libmcrypt.dll 拷貝到系統(tǒng)的 system32 目錄下,這是通過phpinfo可以查看到mcrypt表示這個模塊可以正常試用了。
下面是PHP中使用DES加密解密的一個例子:
//$input - stuff to decrypt
//$key - the secret key to use
function do_mencrypt($input, $key)
{
$input = str_replace(""n", "", $input);
$input = str_replace(""t", "", $input);
$input = str_replace(""r", "", $input);
$key = substr(md5($key), 0, 24);
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim(chop(base64_encode($encrypted_data)));
}
//$input - stuff to decrypt
//$key - the secret key to use
function do_mdecrypt($input, $key)
{
$input = str_replace(""n", "", $input);
$input = str_replace(""t", "", $input);
$input = str_replace(""r", "", $input);
$input = trim(chop(base64_decode($input)));
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$key = substr(md5($key), 0, 24);
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$decrypted_data = mdecrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim(chop($decrypted_data));
}
- PHP中加密解密函數(shù)與DES加密解密實例
- PHP簡單實現(xiàn)DES加密解密的方法
- PHP實現(xiàn)的DES加密解密封裝類完整實例
- 通過PHP的內(nèi)置函數(shù),通過DES算法對數(shù)據(jù)加密和解密
- PHP實現(xiàn)的DES加密解密實例代碼
- PHP實現(xiàn)基于3DES算法加密解密字符串示例
- PHP實現(xiàn)的DES加密解密類定義與用法示例
- 兼容PHP和Java的des加密解密代碼分享
- PHP、Java des加密解密實例
- php實現(xiàn)和c#一致的DES加密解密實例
- PHP對稱加密算法(DES/AES)類的實現(xiàn)代碼
- php中加密解密DES類的簡單使用方法示例
相關(guān)文章
php數(shù)組比較實現(xiàn)查找連續(xù)數(shù)的方法
這篇文章主要介紹了php數(shù)組比較實現(xiàn)查找連續(xù)數(shù)的方法,實例分析了php數(shù)組查找及字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07解析php中用PHPMailer來發(fā)送郵件的示例(126.com的例子)
本篇文章是對php中用PHPMailer來發(fā)送郵件的示例(126.com的例子)進行了詳細的分析介紹,需要的朋友參考下2013-06-06處理(php-cgi.exe?-?FastCGI?進程超過了配置的請求超時時限)的問題
本篇文章是對解決(php-cgi.exe?-?FastCGI?進程超過了配置的請求超時時限)的問題進行了詳細的分析介紹,需要的朋友參考下2013-07-07