mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
clean up, add test
This commit is contained in:
parent
7213f446db
commit
e2e691d9c2
|
@ -1,14 +1,11 @@
|
||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"crypto/aes"
|
"crypto/aes"
|
||||||
"crypto/cipher"
|
"crypto/cipher"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
|
|
||||||
"github.com/chrislusf/seaweedfs/weed/glog"
|
"github.com/chrislusf/seaweedfs/weed/glog"
|
||||||
)
|
)
|
||||||
|
@ -61,21 +58,3 @@ func Decrypt(ciphertext []byte, key CipherKey) ([]byte, error) {
|
||||||
nonce, ciphertext := ciphertext[:nonceSize], ciphertext[nonceSize:]
|
nonce, ciphertext := ciphertext[:nonceSize], ciphertext[nonceSize:]
|
||||||
return gcm.Open(nil, nonce, ciphertext, nil)
|
return gcm.Open(nil, nonce, ciphertext, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func EncryptReader(clearReader io.Reader) (cipherKey CipherKey, encryptedReader io.ReadCloser, clearDataLen, encryptedDataLen int, err error) {
|
|
||||||
clearData, err := ioutil.ReadAll(clearReader)
|
|
||||||
if err != nil {
|
|
||||||
err = fmt.Errorf("read raw input: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
clearDataLen = len(clearData)
|
|
||||||
cipherKey = GenCipherKey()
|
|
||||||
encryptedData, err := Encrypt(clearData, cipherKey)
|
|
||||||
if err != nil {
|
|
||||||
err = fmt.Errorf("encrypt input: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
encryptedDataLen = len(encryptedData)
|
|
||||||
encryptedReader = ioutil.NopCloser(bytes.NewReader(encryptedData))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
17
weed/util/cipher_test.go
Normal file
17
weed/util/cipher_test.go
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSameAsJavaImplementation(t *testing.T) {
|
||||||
|
str := "QVVhmqg112NMT7F+G/7QPynqSln3xPIhKdFGmTVKZD6IS0noyr2Z5kXFF6fPjZ/7Hq8kRhlmLeeqZUccxyaZHezOdgkjS6d4NTdHf5IjXzk7"
|
||||||
|
cipherText, _ := base64.StdEncoding.DecodeString(str)
|
||||||
|
secretKey := []byte("256-bit key for AES 256 GCM encr")
|
||||||
|
plantext, err := Decrypt(cipherText, CipherKey(secretKey))
|
||||||
|
if err != nil {
|
||||||
|
println(err.Error())
|
||||||
|
}
|
||||||
|
println(string(plantext))
|
||||||
|
}
|
Loading…
Reference in a new issue