繁体   English   中英

C++中的SHA256哈希计算

[英]SHA256 Hash calculation in C++

我正在尝试将以下 C# 代码转换为 C++

        SHA256 hash = SHA256.Create();
        hash.TransformBlock(key, 0, key.Length, null, 0);
        for (int i = 0; i < 1000; ++i)
        {
            hash.TransformBlock(cipheredSHA256Hash, 0, 32, null, 0);
        }
        hash.TransformFinalBlock(cipheredSHA256Hash,0, 0);

        using (RijndaelManaged rijndael = new RijndaelManaged())
        {
            rijndael.Key = hash.Hash;
            rijndael.Mode = CipherMode.ECB;
            rijndael.Padding = PaddingMode.Zeros;
            ICryptoTransform decryptor = rijndael.CreateDecryptor();

            return decryptor.TransformFinalBlock(cipheredOffSet60, 0, cipheredOffSet60.Length);
        }

在 C++ 中是否有上述代码的任何选项

尝试查看免费的Crypto++库。 它实现了多种加密算法,包括 SHA256 和 AES/Rijndael。

有关如何创建 SHA256 哈希和解密 AES 的示例,请查看以下讨论:

使用 Crypto++ 创建 SHA256 哈希

将 AES 与 Crypto++ 结合使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM