DES是一種標(biāo)準(zhǔn)的數(shù)據(jù)加密算法,關(guān)于這個(gè)算法的詳細(xì)介紹可以參考wiki和百度百科:
wiki百科 百度百科
php中有一個(gè)擴(kuò)展可以支持DES的加密算法,是:extension=php_mcrypt.dll
在配置文件中將這個(gè)擴(kuò)展打開還不能夠在windows環(huán)境下使用
需要將php文件夾下的 libmcrypt.dll 拷貝到系統(tǒng)的 system32 目錄下,這是通過phpinfo可以查看到mcrypt表示這個(gè)模塊可以正常試用了。
下面是php中使用DES加密解密的一個(gè)例子:
復(fù)制代碼 代碼如下:
//$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ù):PHP使用DES進(jìn)行加密與解密的方法詳解,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。