#####目的:函數
使用QT進行AES加密,能用CryptoJs進行AES解密。加密
#####說明:blog
CryptoJs使用的AES加密文件爲 aes.jsget
#####網上QT經常使用的AES加密方式源碼
crypto++ 和 qca 都須要下載源碼編譯成靜態庫或者動態庫調用,方法比較複雜,沒有編譯成功。qt
botan 是QT自帶的庫,只須要引入頭文件便可,調用還算是比較方便,可是我嘗試的時候發現加密之後不能正確解密,不知道哪裏弄錯了,按道理來講不該該這樣。編譯
網友貢獻的AES加密代碼,能夠正常加密和解密,可是和CryptoJs默認加密方式得出的結果不同,配置了mode和padding 也不能獲得相同的結果。配置
說到這裏,常規手段已經用完了,好吧,結果一點都不理想。下載
#####很是規手段: 用QT調用js方法進行加解密。方法
大概步驟就是使用QJSEngine加載本地aes.js文件,而後調用js裏面的方法進行加解密,獲取返回結果,我這邊得出的結果就是,加密不正確且沒法解密。
到這裏就結束了嗎?不!我以爲還能夠再搶救一下,也就是這篇文章的意義所在
==使用QML包含aes.js文件,再用QML函數調用aes.js的AES加密方法,最後用C++調用QML內的方法,獲取加解密結果,成功!==
#####完!
原創文章,轉載請註明出處:http://yliyun.com/blog/2016/05/30/qt-aes-cryptojs/