Android iOS中的SHA加密
我在Android上有以下代码:Android iOS中的SHA加密,android,swift,kotlin,encryption,sha,Android,Swift,Kotlin,Encryption,Sha,我在Android上有以下代码: val digest = MessageDigest.getInstance("SHA-512") digest.update("secretotpkey".toByteArray()) val sb = StringBuilder() val bytes = digest.digest(value.toByteArray()) bytes.forEach { sb.append(((it and 0xF) + 0x100).toString(16).
val digest = MessageDigest.getInstance("SHA-512")
digest.update("secretotpkey".toByteArray())
val sb = StringBuilder()
val bytes = digest.digest(value.toByteArray())
bytes.forEach {
sb.append(((it and 0xF) + 0x100).toString(16).substring(1))
}
val encryptedValue = sb.toString()
makeLog("Encrypted value is $encryptedValue")
return encryptedValue
我正在尝试使用CryptoSwift将其转换为iOS。然而,我得到了不同的结果。有没有办法解决这个问题
var digest=digest.sha512(“secretotpkey.bytes”)
印刷品(摘要)
设bytes=“54181474”。字节
打印(字节)
摘要.追加(内容:字节)
var blah=String()
对于摘要中的项目{
设a=Int(项&0xF)+Int(0x100)
设b=(字符串(格式:“%02X”,a))。子字符串(范围:NSRange(位置:1,长度:2))
印刷品(b)
等等。附加(b)
}
两个编码问题:
这应该可以解决这个问题,因为这里除了调用标准化算法SHA-512之外什么都没有。SHA-512是加密散列,不是加密。顺便说一下,始终在标记中指示运行时。您可以使用SO上的“代码”按钮取消输入代码。