2020.5.14 周四
留●白
宜
沉思
浮躁
忌
今日推荐
今瞅见一个关于哈希值生成演示的项目,挺好玩的样子。
关于sha256相信很多人都不陌生,尤其是经常会写接口啥的,在加密中这个哈希使用很频繁。但是这个值到底是怎么生成的,有人好奇么?
今天推荐的是用ruby写的小项目,可以在自己的终端上面运行,运行之后就能看到sha256生成的过程。
运行的步骤不难,只需要照下面的脚本运行就好
# simple ruby sha256.rb abc # hash binary or hex data by using `0b` or `0x` prefixes ruby sha256.rb 0b01100001 ruby sha256.rb 0xaabbccdd # speed up or step through the animation (optional) ruby sha256.rb abc normal # default ruby sha256.rb abc fast ruby sha256.rb abc enter还可以通过传递二进制字符串作为参数来运行SHA-256中使用的各个函数:
ruby shr.rb 11111111111111110000000000000000 22 ruby rotr.rb 11111111111111110000000000000000 22 ruby sigma0.rb 11111111111111110000000000000000 ruby sigma1.rb 11111111111111110000000000000000 ruby usigma0.rb 11111111111111110000000000000000 ruby usigma1.rb 11111111111111110000000000000000 ruby ch.rb 11111111111111110000000000000000 11110000111100001111000011110000 00000000000000001111111111111111 ruby maj.rb 11111111111111110000000000000000 11110000111100001111000011110000 00000000000000001111111111111111还可以使用hash256.rb进行双SHA256(例如比特币)交易。默认情况下,此脚本接受十六进制数据(例如,块标题,交易数据)。关于sha256工作的具体原理,可以去项目里看看,作者摘录的很详细。
ruby hash256.rb 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c # genesis block header废话不多说,上地址:
https://github.com/NathanUA/U-2-Net
来源:GitHub(侵删) 图片:网络(侵删)
DESIGNED BY ZOE · 2020
---来自腾讯云社区的---仇诺伊
微信扫一扫打赏
支付宝扫一扫打赏