123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package unionpay
- import (
- "crypto"
- "crypto/rand"
- "crypto/rsa"
- "crypto/sha1"
- "crypto/sha256"
- )
- func encrypt(publicKey *rsa.PublicKey, src []byte) (data []byte, err error) {
- data, err = rsa.EncryptPKCS1v15(rand.Reader, publicKey, src)
- return
- }
- func decrypt(priveKey *rsa.PrivateKey, ciphertext []byte) (data []byte, err error) {
- data, err = rsa.DecryptPKCS1v15(rand.Reader, priveKey, ciphertext)
- return
- }
- func sign(priveKey *rsa.PrivateKey, src []byte) (data []byte, err error) {
- hashed := sha256.Sum256(src)
-
- data, err = rsa.SignPKCS1v15(rand.Reader, priveKey, crypto.SHA256, hashed[:])
- return
- }
- func signsha1(priveKey *rsa.PrivateKey, src []byte) (data []byte, err error) {
- hashed := sha1.Sum(src)
-
- data, err = rsa.SignPKCS1v15(rand.Reader, priveKey, crypto.SHA1, hashed[:])
- return
- }
- func verify(publicKey *rsa.PublicKey, src, sig []byte) (err error) {
- hashed := sha256.Sum256(src)
- err = rsa.VerifyPKCS1v15(publicKey, crypto.SHA256, hashed[:], sig)
- return
- }
|