Q
加密字符串的長度
14
A
回答
21
塊密碼諸如DES,3DES和AES只能在字節塊進行操作。DES和3DES上的上的16個字節的塊的8個字節和AES塊進行操作。
爲了解決這個問題,你通常在加密之前對你的明文應用一個可逆的填充,它通常是「PKCS」-padding(也叫PKCS5-或PKCS7-padding)。
PKCS填充至少添加一個字節,以使填充文本的長度可以被塊長度(3DES的8個字節)整除。填充字節的值是添加的字節數。 FX。 ABCDEF填充到ABCDEF0505050505,0011223344556677填充爲0011223344566770808080808080808.請注意,這很容易刪除:您只需查看填充字節的最後一個字節,驗證它是否在1和塊長度之間,並刪除該字節數從最後(驗證每個被刪除的字節具有正確的值)。
最後,要回答你的問題:假設你使用的是帶有CBC加密和PKCS-填充3DES - 你大概是 - 長度爲n的字符串加密的長度是:
n + 8 - (n % 8)
1
Triple DES使用三個56位DES密鑰,給168個密鑰。它的塊大小是64位。
4
使用Triple DES不會更改字符串的長度,但會將其舍入到下一個64位邊界。如果你打算「顯示」它,你將不得不編碼它(如Base64雖然
至於其他算法,很難回答,因爲有很多塊密碼將總是填補輸入以匹配他們塊大小而許多流密碼也不會。
相關問題
- 1. 加密的字符串長度
- 2. Laravel加密字符串長度
- 3. 加密字符串以匹配原始字符串的長度
- 4. 字符串的長度比字符串的長度長
- 5. 什麼決定了RSA中加密字符串的長度?
- 6. OpenSSL - 如何確定rsa加密字符串的正確長度?
- 7. XOR加密的蟒蛇 - 奇數長度字符串
- 8. 如何控制加密字符串的長度?
- 9. 加密/保護短字符串爲長
- 10. 使用RSA加密長字符串(Java)
- 11. 加密字符串,縮短長度較短
- 12. Blowfish加密後字符串長度不正確
- 13. bash的字符串長度
- 14. 字符串的長度(Python)
- 15. 長度 「串」 與新的字符串的長度( 「串」)
- 16. 加密長度
- 17. 爲什麼字符串的字節長度比長度長?
- 18. 查找最長字符串的長度
- 19. 如果已知加密字符串,DES加密的強度?
- 20. 解密字符串加密
- 21. 加密/解密字符串
- 22. C字符串長度
- 23. 比較字符串長度
- 24. CSS字符串長度
- 25. PHP字符串長度
- 26. 限制字符串長度
- 27. Haskell和字符串長度
- 28. 字符串長度問題
- 29. SQLite soundex字符串長度
- 30. 數字符串長度c
請詳細說明。例如,如果我有一個長度爲100個字符的字符串,我將如何計算加密字符串的長度? – 2009-01-19 10:46:54
(string.length/8)+ 1,假設爲8位字符 – Keltia 2009-01-19 10:58:14
長度以字符爲單位(如果您願意,也可以是字節),因此length/8使用64位塊。 – Keltia 2009-01-19 11:01:05