從一家做shopex,ecstore的公司到一家做b2b的ecshop的公司...來(lái)了就要實(shí)戰(zhàn),其他的不說(shuō)了,先來(lái)了解什么是php的aes加密吧?

  aes(高級(jí)加密標(biāo)準(zhǔn)),AES的區(qū)塊長(zhǎng)度固定為128 比特,密鑰長(zhǎng)度則可以是128,192或256比特;是一個(gè)可逆的加密方式,同md5不同。

  AES分為幾種模式,比如ECB,CBC,CFB等等,這些模式除了ECB由于沒有使用IV而不太安全,其他模式差別并沒有太明顯,大部分的區(qū)別在IV和KEY來(lái)計(jì)算密文的方法略有區(qū)別。

iv的作用?

  IV稱為初始向量,不同的IV加密后的字符串是不同的,加密和解密需要相同的IV,既然IV看起來(lái)和key一樣,卻還要多一個(gè)IV的目的,對(duì)于每個(gè)塊來(lái)說(shuō),key是不變的,但是只有第一個(gè)塊的IV是用戶提供的,其他塊IV都是自動(dòng)生成。 
  IV的長(zhǎng)度為16字節(jié)。超過(guò)或者不足,可能實(shí)現(xiàn)的庫(kù)都會(huì)進(jìn)行補(bǔ)齊或截?cái)?。但是由于塊的長(zhǎng)度是16字節(jié),所以一般可以認(rèn)為需要的IV是16字節(jié)。

到現(xiàn)在對(duì)aes有了一定的了解,就開始上代碼吧。

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

<?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
        
		

網(wǎng)友評(píng)論