1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright (c) 2015 Kohei YOSHIDA. All rights reserved.
- // This software is licensed under the 3-Clause BSD License
- // that can be found in LICENSE file.
- package internal
-
- const (
- cleanBytesLen = 64
- )
-
- var (
- cleanBytes = make([]byte, cleanBytesLen)
- )
-
- func CleanSensitiveData(b []byte) {
- l := len(b)
-
- for ; l > cleanBytesLen; l -= cleanBytesLen {
- copy(b[l-cleanBytesLen:l], cleanBytes)
- }
-
- if l > 0 {
- copy(b[0:l], cleanBytes[0:l])
- }
- }
-
- func RepeatByteSequence(input []byte, length int) []byte {
- var (
- sequence = make([]byte, length)
- unit = len(input)
- )
-
- j := length / unit * unit
- for i := 0; i < j; i += unit {
- copy(sequence[i:length], input)
- }
- if j < length {
- copy(sequence[j:length], input[0:length-j])
- }
-
- return sequence
- }
|