0
我是新來加密和利用這個類來獲得令牌,有人可以幫助我瞭解這兩個函數在參考,視頻教程等的幫助下進行了深入瞭解。目的是理解並使用相同的技術在其他語言中實現。使用相同的技術加密令牌在PHP
class Crypt {
public static function encrypt($data, $secret) {
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = pack('H*', $secret);
return base64_encode($iv . mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv));
}
public static function decrypt($data, $secret) {
$data = base64_decode($data);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr($data, 0, $iv_size);
$data = substr($data, $iv_size);
$key = pack('H*', $secret);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv), chr(0));
}
}
感謝
好奇,爲什麼它是很難用其他語言來實現,比如我正在考慮它的node.js,爲什麼我喜歡這個算法,因爲它產生每次對於相同字符串的唯一標記 – user2727195 2014-10-18 15:08:02
我認爲這已經存在:https://github.com/chengxianga2008/node-cryptojs-aes ..檢查CryptoJS AES實現.. https://code.google.com/p /crypto-js/source/browse/tags/3.1.2/src/aes.js – 2014-10-18 15:15:44