我正在尝试将hashlib库从python移植到C#:
shaA = hashlib.sha256()
shaA.update(yy)
shaA.update(xx)
shaB = shaA.copy()
hashA = shaA.digest()
#Hash B
shaB.update(yy)
shaA = shaB.copy()
hashB = shaB.digest()
#Hash C
shaA.update(xx)
hashC = shaA.digest()
我的问题是我不知道update()在.NET中的SHA256()中的含义,以及它的副本(在.NET中SHA256不支持)和摘要。在
如果有人能帮我,我会非常感激的!在
谢谢
我不确定,没有测试过您的示例代码是否与此大致相同:
各种Python方法在the ^{} documentation 中进行了说明。在
copy
克隆哈希对象的当前状态;update
在哈希对象的现有输入字符串上追加一个新字符串;digest
从哈希对象的现有输入字符串生成哈希(也称为消息摘要),并将其作为字节序列返回。在我在.NET或C中没有发现任何对等项。老实说,移植
hashlib
似乎没有什么价值。在我看来,使用内置的.nethash库可以使代码更短、更易于理解。在你知道.NETFramework包含一个加密库,是吗?
下面是.NET的SHA256实现。 This是加密库的一个很好的概述。在
如果您在使用.NET加密库时遇到困难,也许您应该找出在C中实现您想要的东西的方法,而不是移植整个库来做您想做的事情。在
相关问题 更多 >
编程相关推荐