gpt4 book ai didi

encryption - base64_encode 哈希和 (sha1, md5, ...) 之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-02 01:03:54 25 4
gpt4 key购买 nike

(base64_encode) 哈希和 (sha1, md5, ...) 方法之间的主要区别是什么?base64_encode 是可解码的方式,但其他方式似乎不是。这是它们的主要区别吗?

最佳答案

是的,主要区别在于。 Base64 可解码,SHA1 和 MD5 不可解码。

irb(main):001:0> source = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
=> "Lorem ipsum dolor sit amet, consectetur adipiscing elit."

irb(main):002:0> require "base64"
=> true
irb(main):003:0> encoded = Base64.encode64(source)
=> "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBp\nc2NpbmcgZWxpdC4=\n"
irb(main):004:0> Base64.decode64(encoded)
=> "Lorem ipsum dolor sit amet, consectetur adipiscing elit."

另一个区别是散列的长度。 Base64 编码字符串的长度各不相同,因为它包含原始数据。然而,SHA1 和 MD5 哈希的长度是固定的(SHA1 为 20 字节,MD5 为 16 字节)。

irb(main):001:0> source = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
=> "Lorem ipsum dolor sit amet, consectetur adipiscing elit."

irb(main):002:0> require "digest"
=> true
irb(main):003:0> Digest::SHA1.hexdigest(source)
=> "e7505beb754bed863e3885f73e3bb6866bdd7f8c"
irb(main):004:0> Digest::MD5.hexdigest(source)
=> "35899082e51edf667f14477ac000cbba"

关于encryption - base64_encode 哈希和 (sha1, md5, ...) 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com