在Java中,我用這個:如何在swift中將字符串(使用Java中的加密MessageDigest)編碼爲Base64字符串?
public void encryptData() {
String data = "Hello World";
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
if (md == null) {
return;
}
md.update(data.getBytes());
String dataEncoded = Base64.encodeToString(md.digest(), 11);
return dataEncoded; //print: sQqNsWTgdUEFt6mb5y4_5Q
}
我該怎麼做在斯威夫特同樣的結果?
更新時間:
func test() -> Void {
var data: String = "Hello World"
data = md5(data)
data = base64Encode(data)
print("data = \(data)") //YjEwYThkYjE2NGUwNzU0MTA1YjdhOTliZTcyZTNmZTU=
}
MD5和md5 here使用base64Encode功能和base64 here
任何提示會有所幫助。因爲 引用md5()
函數返回消息摘要作爲 十六進制編碼的串,然後將其Base64編碼
MD5函數是在這裏例如:http://stackoverflow.com/questions/32163848/how-to-convert-string-to-md5-hash-using-ios-swift,和Base64在這裏:http:///stackoverflow.com/questions/34406024/swift-base64-format。您可以通過搜索'[swift] md5'或'[swift] base64'輕鬆找到更多信息。 - 順便說一句,MD5是*不是*加密。 –
我試過md5和base64,但結果在java中是不同的。結果是:YjEwYThkYjE2NGUwNzU0MTA1YjdhOTliZTcyZTNmZTU = –
顯示您的嘗試。輸入,輸出和預期輸出。我們無法猜測你做錯了什麼。 –