折騰了好多天, 感謝喬楚大俠的幫忙, 終於搞定了aes - cbc 加密, 特地將加密部分的東西整理一下, 希望能給後人帶來一些幫助
【加密規範】:
加密標準:
aes
加密演算法:
cbcblocksize:256bit(32byte)
keysize : 256 (32byte)
padding : pkcs7
aes-cbc是一種分段解密的方式,即先把明文分段, 然後再加密, 引數blocksize 定義每段的大小, 支援 128bit 256 bit , 在分好段之後,最後的一段不一定滿乙個blocksize, 所以需要先對明文進行補碼在加密,pkcs7 的補碼方式, 後邊會提到。 金鑰的長度支援 128 192 和 256.
【pkcs7】
pkcs7 的演算法其實比較簡單, 完全可以自己封裝乙個函式:
第一步: 拿到明文的長度 len 和 blocksize (位元組)
第二部: 算出最後一段需要補碼的長度 paddinglen = len - text % blocsize
第三部: 取得 ascii 碼 為補碼長度 paddinglen的字元, 用該字元把最後一段填滿就ok了, 詳情請參見我的php**
【php加密】
php要使用加密的函式, 必須安裝 mcrypt 的擴充套件。
NFS搭建以及rsync inotify實時備份
搭建nfs 假設有2臺server,分別是server1和server2。現在要在server1上安裝nfs,在server2上掛載該目錄。1.在兩台server上都安裝 yum install portmap nfs utils nfs utils lib 2.編輯server1檔案 etc ex...
Python MD5加密詳解以及多次加密的坑
在python中可以使用hashlib這個庫來使用md5加密 import hashlib在使用md5加密的使用要注意加密內容的編碼格式 import hashlib 匯入hash庫函式 md5 object hashlib.md5 建立乙個md5物件 md5 object.update b adm...
弄懂加密 簽名 證書以及HTTPS
這裡是一篇精煉而全面的介紹文章,把圍繞證書的那些概念都串起來了。本文將對一些細節做一些補充。首先,我們需要乙個清晰的定義來理解加密 金鑰 演算法這些概念 可以把加密演算法看作乙個複雜的函式變換,y f m,key y代表密文,即加密後得到的字串行,m代表明文,即待加密的字串行,key代表金鑰,f代表...