0

我需要使用带有 SALT 的 SHA-256 变体在 Swift 中生成消息摘要。我在 Swift 中使用 CryptoSwift 库进行所有加密/解密。现在我被困在生成与 Android 中的 Java 代码匹配的消息摘要,如下所示。如果有人可以帮助我解决这个问题。提前致谢。

我正在使用的库是 Swift:CryptoSwift

用于使用 SHA-256 使用 Salt 生成 MD 的 Java 代码

public static String generateMessageDigest(String message,String salt) {
    try {
        MessageDigest msDigest = MessageDigest.getInstance("SHA-256");
        msDigest.update(salt.getBytes(StandardCharsets.UTF_8));
        byte[] digest = msDigest.digest(message.getBytes(StandardCharsets.UTF_8));
        return Base64.encodeBase64String(digest);
    } catch(NoSuchAlgorithmException ex) {
        throw new RuntimeException(ex);
    }
}

注意:我需要带SALT的 MD

4

1 回答 1

0

最后,我设法自己找到了解决方案,下面是答案。

func getHashedPassword(passwordToHash:String, salt:String) -> String {
    let combinedString = "\(salt)\(passwordToHash)"
    let result =  Digest.sha256(combinedString.bytes)
    return Data(bytes: result).base64EncodedString()
}
于 2020-12-14T05:06:51.327 回答