added existing key option

This commit is contained in:
ston1th 2023-04-01 13:10:04 +02:00
commit 13e4e4de07
6 changed files with 112 additions and 14 deletions

View file

@ -26,13 +26,16 @@ func GenerateID() (string, error) {
return hex.EncodeToString(id), nil
}
func Generate(name string, size int, enc core.Encoding, t core.Type) (kstore, k core.Key, err error) {
func Generate(name, existing string, size int, enc core.Encoding, t core.Type) (kstore, k core.Key, err error) {
id, err := GenerateID()
if err != nil {
return
}
var key []byte
if t == core.Xor {
if existing != "" {
key, err = hex.DecodeString(existing)
size = len(key)
} else if t == core.Xor {
key, err = generate(size * 2)
} else {
key, err = generate(size)