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
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"crypto/rand"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/chrislusf/seaweedfs/weed/glog"
|
||||
)
|
||||
|
@ -61,21 +58,3 @@ func Decrypt(ciphertext []byte, key CipherKey) ([]byte, error) {
|
|||
nonce, ciphertext := ciphertext[:nonceSize], ciphertext[nonceSize:]
|
||||
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