Don't encrypt/decrypt blank strings
This commit is contained in:
parent
330d834706
commit
3c8b68b503
2 changed files with 20 additions and 2 deletions
|
@ -22,7 +22,7 @@ import (
|
|||
|
||||
func Encrypt(key []byte, src []byte) (dst []byte, err error) {
|
||||
|
||||
if len(key) == 0 {
|
||||
if len(key) == 0 || len(src) == 0 {
|
||||
return src, nil
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ func Encrypt(key []byte, src []byte) (dst []byte, err error) {
|
|||
|
||||
func Decrypt(key []byte, src []byte) (dst []byte, err error) {
|
||||
|
||||
if len(key) == 0 {
|
||||
if len(key) == 0 || len(src) == 0 {
|
||||
return src, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -38,6 +38,24 @@ func TestEmpty(t *testing.T) {
|
|||
|
||||
}
|
||||
|
||||
func TestBlank(t *testing.T) {
|
||||
|
||||
key := []byte("1hg7dbrma8ghe547")
|
||||
str := []byte("")
|
||||
|
||||
Convey("Cryptography should fail", t, func() {
|
||||
enc, _ := Encrypt(key, str)
|
||||
dec, _ := Decrypt(key, enc)
|
||||
Convey("Encrypt", func() {
|
||||
So(enc, ShouldResemble, str)
|
||||
})
|
||||
Convey("Decrypt", func() {
|
||||
So(dec, ShouldResemble, str)
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func TestInvalid(t *testing.T) {
|
||||
|
||||
key := []byte("invalidkey")
|
||||
|
|
Loading…
Reference in a new issue