PBEWithMD5AndDES和Base64編碼提供的加密字符串是否可以包含CR和/或LF字符?PBEWithMD5AndDES加密生成的CR/LF?
回答
我在Andorid SDK中使用java。我發現命令:
String s = Base64.encodeToString(enc, Base64.DEFAULT);
做了換行。它將LF字符放入輸出字符串中。
我發現:
String s = Base64.encodeToString(enc, Base64.NO_WRAP);
沒有把LF字符到輸出字符串。
Base64只能打印字符。但是,當它用作電子郵件的MIME類型時,它將被拆分成由CR-LF分隔的行。
你的答案當然是正確的(所以+1),但我已經創建了一個更深入的問題的答案。 – 2012-08-05 14:20:51
PBEWithMD5AndDES返回二進制數據。 PBE加密在PKCS#5 standard內定義,並且此標準沒有專用的base 64編碼方案。所以問題就變成了你需要Base 64編碼二進制數據的系統。維基百科有一個解釋各種形式的nice section within the Base 64 article。
您可能會遇到一個返回Base 64的PBE實現,並且實現沒有提及使用上述哪個方案。在這種情況下,您需要以某種方式找出使用哪種方案。我會建議搜索它,詢問社區,查看源代碼或者全部失敗,在輸出中創建一組測試。
幸運的是,如果您正在解碼base 64並且您忽略了所有的空白區域,那麼您是非常安全的。請注意,某些實現忽略了填充,所以如果適用,請在解碼之前添加它。
如果你自己進行編碼基地64,我會強烈建議不輸出任何空白,只能使用默認的字母(與'+'
和'/'
標誌),並在需要時總是進行填充。之後,您可以隨時拆分結果並替換任何非標準字符(特別是'+'
和'/'
標誌當然),或刪除填充。
- 1. 解密(使用PHP)Java加密(PBEWithMD5AndDES)
- 2. 密碼「PBEWithMD5AndDES」「穩定」?
- 3. 使用PBEWithMD5AndDES算法進行Java加密
- 4. 加密密鑰生成
- 5. Python的2 - 解密Java的PBEWithMD5AndDES
- 6. AES加密 - 密鑰生成與OpenSSL的
- 7. 在.NET中,如何解密使用Java中的PBEWithMD5AndDES加密的值?
- 8. Java PBEWithMD5AndDES
- 9. 在.net下模擬PBEWITHMD5ANDDES加密來自JAVA
- 10. random.randint生成加密安全密鑰
- 11. Rails加密:danpal/attr_encryptor密鑰生成
- 12. 密鑰生成AES加密symbian
- 13. PBEwithMD5andDES in C#
- 14. Yii2加密生成不同的加密數據
- 15. 生成加密的安全令牌
- 16. 從bin2hex生成的文本去加密?
- 17. 用的Node.js /加密生成ECDSA簽名
- 18. 使用隨機生成的密鑰進行加密和解密?
- 19. 密鑰生成
- 20. 生成密鑰
- 21. React原生redux-persist加密密鑰生成
- 22. 讓我的密碼生成器生成'複雜'的密碼
- 23. Twofish密碼密鑰生成
- 24. C#密碼生成密鑰
- 25. 用於AES加密的生成密鑰的安全
- 26. 基於Java生成的RSA密鑰的JavaScript加密
- 27. 加密不適用於AES-256的openssl生成的密鑰
- 28. 由Java程序生成的加密密鑰未被Microsoft加密API接受
- 29. 從用戶密碼安全生成加密密鑰?
- 30. 如何做到在Python PGP(生成密鑰,加密/解密)
Xarph問題沒有問題,但請指定具體的語言/ API,儘可能多地包含標籤,並在問題主體的某個地方使用問號。 – 2012-08-05 14:25:16