openssl 测试加密卡_OpenSSL自带的aes_128_ecb加密函数——密文长度测试
OpenSSL自帶的aes_128_ecb加密函數——密文長度測試
發表于2017年11月29日 閱讀人數(3608)
近來要用到對稱加密,就是使用了openssl的庫給文件加密,選擇的128位的分塊加密,對稱加密有分塊加密和流加密兩種。在實驗中要考慮文件的長度所以關注到了密文的長度問題。
測試環境:ubuntu16.04
首先使用vi filename.txt 新建了一個文件,輸入了15個字符,照理說應該顯示文件大小是15個字節,其實ls -l 查看顯示的是16個字節,因為linux系統自動在文本添加了$符號,可以在打開文件后進入命令模式輸入set list可以看到文件中多了一個$符號。這都是題外話,現在使用OpenSSL命令來加密文件filename.txt:
openssl enc -e -aes-128-ecb -kfile key.txt -in filename.txt -out filename_encryp.txt -p
使用ls -l查看文件filename_encry.txt的大小為48個字節
將filename.txt的文件打開去掉一個字符,文件大小變為了15個字節,再使用OpenSSL命令來加密文件,這之后得到文件大小為32個字節。
這是為什么呢?
由于aes-128-ecb是分塊加密,塊的大小設定是16個字節,當文件塊大小不是16的倍數時,會先將文件分塊后不足16個字節的塊填充補全為16個字節,而剛好能夠整除16的文件大小怎么處理呢,OpenSSL會添加一個16字節的數據。這樣看來加密后的數據還是多了16個字節,我打開看了密文看見了salt的文字,正好鹽值也是16個字符,可能密文中保存了鹽值的16個字節。
總結
以上是生活随笔為你收集整理的openssl 测试加密卡_OpenSSL自带的aes_128_ecb加密函数——密文长度测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡怎么在手机上办理 怎么在手机上办理
- 下一篇: uiswitch样式_Swift - 表