國內私募機構九鼎控股打造APP,來就送 20元現金領取地址:http://jdb.jiudingcapital.com/phone.html
內部邀請碼:C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
問題:使用Java默認的AES加密方式(Cipher.getInstance("AES"))並對加密后結果進行Base64編碼,這樣php(http://phpaes.com/使用這里免費的AES實現版本
)里可以成功進行解密。而在Php加密后的字符串無法在Java中成功解密。
1.Java中AES加密與解密默認使用AES/ECB/PKCS5Padding模式;
2.php中的AES算法實現使用AES/ECB/NoPadding
要注意特定的Padding實現跟算法的blockSize有關,這里php的blocksize是16。在php的aes加密前先對源字符串進行Padding,問題得到解決。
前面提到Java默認的AES加密在php 的上述aes實現中可以成功解密。其實該php解密雖然看上去是成功的,其實里面還是有些問題的。因為解密出來的字符串因為Java端加密時會padding操作,php解密以后padding的字符沒有被去掉導致會出現問題。因此解密時需要removePaddingStr才能得到原始的字符串。