網(wǎng)上流傳的3des加密類,有一行代碼,的確指明了使用3des加密,加密方法是ECB:$td=mcrypt_module_open(MCRYPT_3DES,'',MCRYPT_MODE_ECB,'');因為PHP7.1移除了mcrypt,所以要使用openssl。但是openssl_get_cipher_methods()輸出的所有加密方法里,并沒有類似:DES-EDE3-ECB這樣的,跟3des有關(guān)的方法只有:DES-EDE3DES-EDE3-CBCDES-EDE3-CFBDES-EDE3-CFB1DES-EDE3-CFB8DES-EDE3-OFBci的加密類里,也列出了3des支持的模式,里面也沒有ECB,強(qiáng)行使用ECB,只會返回false。而我找到一篇其它語言的文章(openssl實現(xiàn)3des對稱加密),卻在文章開頭就說使用3des-ecb加密怎么會這么混亂?這是為什么?我想使用openssl的3des加密,并且加密結(jié)果要與本問題一開始提到的那個3des加密類一致,該怎么做?問題已由1樓碼友解決。另外我根據(jù)別人的例子,寫了個openssl做3des加密的類,跟網(wǎng)上流傳的使用mcrypt做3des加密類輸出的結(jié)果是一致的??梢撇剑篽ttps://segmentfault.com/q/10...
3des到底支不支持ECB模式?
炎炎設(shè)計
2019-05-25 16:46:05