123456789101112131415161718192021222324252627282930313233343536373839 |
- package crypto4go
- import (
- "bytes"
- "strings"
- )
- func formatKey(raw, prefix, suffix string, lineCount int) []byte {
- if raw == "" {
- return nil
- }
- raw = strings.Replace(raw, prefix, "", 1)
- raw = strings.Replace(raw, suffix, "", 1)
- raw = strings.Replace(raw, " ", "", -1)
- raw = strings.Replace(raw, "\n", "", -1)
- raw = strings.Replace(raw, "\r", "", -1)
- raw = strings.Replace(raw, "\t", "", -1)
- var sl = len(raw)
- var c = sl / lineCount
- if sl%lineCount > 0 {
- c = c + 1
- }
- var buf bytes.Buffer
- buf.WriteString(prefix + "\n")
- for i := 0; i < c; i++ {
- var b = i * lineCount
- var e = b + lineCount
- if e > sl {
- buf.WriteString(raw[b:])
- } else {
- buf.WriteString(raw[b:e])
- }
- buf.WriteString("\n")
- }
- buf.WriteString(suffix)
- return buf.Bytes()
- }
|