v0.0.78
This commit is contained in:
parent
be4de07eb8
commit
fd33b43f31
@ -16,12 +16,11 @@ import (
|
||||
// https://stackoverflow.com/a/18819040/1761622
|
||||
|
||||
type aesPayload struct {
|
||||
Salt []byte `json:"s"`
|
||||
IV []byte `json:"i"`
|
||||
Data []byte `json:"d"`
|
||||
Rounds int `json:"r"`
|
||||
Version uint `json:"v"`
|
||||
Algorithm string `json:"a"`
|
||||
Salt []byte `json:"s"`
|
||||
IV []byte `json:"i"`
|
||||
Data []byte `json:"d"`
|
||||
Rounds int `json:"r"`
|
||||
Version uint `json:"v"`
|
||||
}
|
||||
|
||||
func EncryptAESSimple(password []byte, data []byte, rounds int) (string, error) {
|
||||
@ -65,12 +64,11 @@ func EncryptAESSimple(password []byte, data []byte, rounds int) (string, error)
|
||||
cfb.XORKeyStream(ciphertext, combinedData)
|
||||
|
||||
pl := aesPayload{
|
||||
Salt: salt,
|
||||
IV: iv,
|
||||
Data: ciphertext,
|
||||
Version: 1,
|
||||
Rounds: rounds,
|
||||
Algorithm: "AES",
|
||||
Salt: salt,
|
||||
IV: iv,
|
||||
Data: ciphertext,
|
||||
Version: 1,
|
||||
Rounds: rounds,
|
||||
}
|
||||
|
||||
jbin, err := json.Marshal(pl)
|
||||
@ -96,6 +94,10 @@ func DecryptAESSimple(password []byte, encText string) ([]byte, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if pl.Version != 1 {
|
||||
return nil, errors.New("unsupported version")
|
||||
}
|
||||
|
||||
key, err := scrypt.Key(password, pl.Salt, pl.Rounds, 8, 1, 32) // this is not 100% correct, rounds too low and salt is missing
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Loading…
Reference in New Issue
Block a user