【发布时间】:2020-08-29 08:22:49
【问题描述】:
我有兴趣获取现有哈希并从那时起恢复 SHA256 加密。在 C++ 中似乎可行:
这是我尝试过的:
irb(main):007:0> sha2 = Digest::SHA2.new => #<Digest::SHA2:256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
irb(main):008:0> sha2 << "string1"
=> #<Digest::SHA2:256 93fedde43203e0a76172135221b8636313635d7afff96a490ae9066330505d47>
irb(main):009:0> sha2 << "string2"
=> #<Digest::SHA2:256 bac09aa72e632e76c36e6c1c4e502b73c3da7fca68c475273dc5517815587cc4>
irb(main):010:0>
以上代码在会话中更新 SHA2 摘要对象。我想开始一个新会话...让我们将其称为 newshaw2,方法是分配与我将 String1 传递给 sha2 时创建的相同的原始哈希,如上所述。
我想“制作”newshaw2 作为对象 93fedde43203e0a76172135221b8636313635d7afff96a490ae9066330505d47。
将其设置为相等:newshaw2 = '93fedde43203e0a76172135221b8636313635d7afff96a490ae9066330505d47' 只是使它成为字符串对象,而不是摘要。
曾经,我已经成功地为 newsha2 分配了哈希值,然后我将使用 string2 更新以恢复哈希过程。
【问题讨论】:
-
我根据 cmets 编辑了上面的作品。