[英]AES between Android and Openbsd
我是使用AES加密的新手,我需要在Android上加密字符串並將其發送到OpenBSD進行解密。 我可以使用OpenSSl在Openbsd上進行加密/解密,也可以使用此代碼在Android上進行加密/解密,但是來自Android的加密字符串不等於OpenBSD中的解密字符串。
... Bonjour >>>>>>> NkrWPLgiY0rt34iaNzhjOg==
...
用android生成的加密字符串
Bonjour >>>>>>> NkrWPLgiY0rt34iaNzhjOg==
在OpenBSD中,我使用android中生成的私鑰對字符串進行加密
#openssl version openSSl 0.9.8k 25 Mar 2009 #echo "Bonjour">test.txt #openssl enc -aes1278 -a -in text.txt -K 15577737BBD910E794A6B3C250678DAF -iv 0 4UwyKgMGJ41xPwTph2qHXQ==
我花了一些時間測試您的代碼,問題確實很簡單。 如果您echo "Bonjour" > test.txt
則會自動將“換行”添加到Bonjour
。
因此,在Java中,您對字符串"Bonjour"
進行了加密,但是openssl讀取的text.txt
文件包含字符串"Bonjour\\n"
。 您可以通過將-n
標志添加到echo
來更改它。 現在,openssl應該與Java打印相同:
$ echo -n "Bonjour" > test.txt
$ openssl enc -aes128 -a -in test.txt -K 15577737BBD910E794A6B3C250678DAF -iv 0
NkrWPLgiY0rt34iaNzhjOg==
顯然我關於IV是由Java隨機生成的說法是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.