從一家做shopex,ecstore的公司到一家做b2b的ecshop的公司...來了就要實戰(zhàn),其他的不說了,先來了解什么是php的aes加密吧?
aes(高級加密標準),AES的區(qū)塊長度固定為128 比特,密鑰長度則可以是128,192或256比特;是一個可逆的加密方式,同md5不同。
AES分為幾種模式,比如ECB,CBC,CFB等等,這些模式除了ECB由于沒有使用IV而不太安全,其他模式差別并沒有太明顯,大部分的區(qū)別在IV和KEY來計算密文的方法略有區(qū)別。
iv的作用?
IV稱為初始向量,不同的IV加密后的字符串是不同的,加密和解密需要相同的IV,既然IV看起來和key一樣,卻還要多一個IV的目的,對于每個塊來說,key是不變的,但是只有第一個塊的IV是用戶提供的,其他塊IV都是自動生成。
IV的長度為16字節(jié)。超過或者不足,可能實現(xiàn)的庫都會進行補齊或截斷。但是由于塊的長度是16字節(jié),所以一般可以認為需要的IV是16字節(jié)。
到現(xiàn)在對aes有了一定的了解,就開始上代碼吧。
<?phpclass cryptaes{ protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protected $pad_method = ''; protected $secret_key = ''; protected $iv = ''; public function set_cipher($cipher) { $this->cipher = $cipher; } public function set_mode($mode) &nbs