X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/src/hash
opt
/
golang
/
1.17.2
/
src
/
hash
/
📁
..
📁
adler32
📁
crc32
📁
crc64
📄
example_test.go
(1.16 KB)
📁
fnv
📄
hash.go
(2.09 KB)
📁
maphash
📄
marshal_test.go
(5.43 KB)
📄
test_cases.txt
(1.26 KB)
📄
test_gen.awk
(450 B)
Editing: example_test.go
// Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package hash_test import ( "bytes" "crypto/sha256" "encoding" "fmt" "log" ) func Example_binaryMarshaler() { const ( input1 = "The tunneling gopher digs downwards, " input2 = "unaware of what he will find." ) first := sha256.New() first.Write([]byte(input1)) marshaler, ok := first.(encoding.BinaryMarshaler) if !ok { log.Fatal("first does not implement encoding.BinaryMarshaler") } state, err := marshaler.MarshalBinary() if err != nil { log.Fatal("unable to marshal hash:", err) } second := sha256.New() unmarshaler, ok := second.(encoding.BinaryUnmarshaler) if !ok { log.Fatal("second does not implement encoding.BinaryUnmarshaler") } if err := unmarshaler.UnmarshalBinary(state); err != nil { log.Fatal("unable to unmarshal hash:", err) } first.Write([]byte(input2)) second.Write([]byte(input2)) fmt.Printf("%x\n", first.Sum(nil)) fmt.Println(bytes.Equal(first.Sum(nil), second.Sum(nil))) // Output: // 57d51a066f3a39942649cd9a76c77e97ceab246756ff3888659e6aa5a07f4a52 // true }
Upload File
Create Folder