git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/checksum/example_test.go (about)

     1  package checksum
     2  
     3  import (
     4  	"bytes"
     5  	"crypto/rand"
     6  	"crypto/sha256"
     7  	"fmt"
     8  
     9  	"git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs"
    10  )
    11  
    12  func ExampleCalculate() {
    13  	payload := []byte{0, 1, 2, 3, 4, 5, 6}
    14  	var cs Checksum
    15  
    16  	Calculate(&cs, SHA256, payload)
    17  	Calculate(&cs, TZ, payload)
    18  }
    19  
    20  func ExampleChecksum_WriteToV2() {
    21  	var (
    22  		csRaw [sha256.Size]byte
    23  		csV2  refs.Checksum
    24  		cs    Checksum
    25  	)
    26  
    27  	rand.Read(csRaw[:])
    28  	cs.SetSHA256(csRaw)
    29  
    30  	cs.WriteToV2(&csV2)
    31  
    32  	fmt.Println(bytes.Equal(cs.Value(), csV2.GetSum()))
    33  	// Output: true
    34  }