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() }