Skip to content
Snippets Groups Projects
Select Git revision
  • 0e26c3cfb993f07916792296bd97fb72d5b02f0c
  • main default protected
  • dev protected
  • hotfixes-oct-2022
  • refactor/avatar-cell
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1
  • 1.0.8
  • 1.0.7
  • 1.0.6
12 results

Session+Group.swift

Blame
  • util.go 1.23 KiB
    ////////////////////////////////////////////////////////////////////////////////
    // Copyright © 2022 xx foundation                                             //
    //                                                                            //
    // Use of this source code is governed by a license that can be found in the  //
    // LICENSE file.                                                              //
    ////////////////////////////////////////////////////////////////////////////////
    
    package xx
    
    import (
    	"bytes"
    	"crypto/rsa"
    	"encoding/binary"
    )
    
    // IntToBytes converts an integer to big endian byte slice
    // Because int can be 32 or 64 bits, it is always treated
    // as 64 for the purposes of this function.
    func IntToBytes(x int) []byte {
    	byteBuf := new(bytes.Buffer)
    	// NOTE: binary.Write shouldn't ever error on any value of int64
    	// so we don't handle returned errors.
    	binary.Write(byteBuf, binary.BigEndian, int64(x))
    	return byteBuf.Bytes()
    }
    
    // PublicKeyBytes converts an RSA public key to a byte representation
    // Specifically N's bytes concatenated with the public exponent concatenated
    // at the end
    func PublicKeyBytes(key *rsa.PublicKey) []byte {
    	pkBytes := IntToBytes(key.E)
    	pkBytes = append(pkBytes, key.N.Bytes()...)
    	return pkBytes
    }