在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 = –
显示您的尝试。输入,输出和预期输出。我们无法猜测你做错了什么。 –