シャーディングをする関数を考えたのですが、どうも空文字をエンコードしていて、毎回同じ出力結果になるので困っています。
どのようにすればいいのでしょうか。
go
1func Sha3StringToHex(str string) (s string) { 2 h := sha3.Sum256([]byte("Hello")) 3 tmp := h[:] 4 s = hex.EncodeToString(tmp) 5 return 6}
golang初心者で、理解を深めたいのでよろしくお願いいたします。
またデバックをしてみるとh
もtmp
も同じように見えます。
こっちがh
です。
go
1[32]uint8{ 20x8c, 0xa6, 0x6e, 0xe6, 0xb2, 0xfe, 0x4b, 0xb9, 0x28, 0xa8, 0xe3, 0xcd, 0x2f, 0x50, 0x8d, 0xe4, 30x11, 0x9c, 0x08, 0x95, 0xf2, 0x2e, 0x01, 0x11, 0x17, 0xe2, 0x2c, 0xf9, 0xb1, 0x3d, 0xe7, 0xef, 4}
こちらがtmp
です。
go
1[]uint8{ 20x8c, 0xa6, 0x6e, 0xe6, 0xb2, 0xfe, 0x4b, 0xb9, 0x28, 0xa8, 0xe3, 0xcd, 0x2f, 0x50, 0x8d, 0xe4, 30x11, 0x9c, 0x08, 0x95, 0xf2, 0x2e, 0x01, 0x11, 0x17, 0xe2, 0x2c, 0xf9, 0xb1, 0x3d, 0xe7, 0xef, 4}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/27 17:05