加密
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
4.3 KiB

package crypter
import (
"encoding/base64"
"testing"
)
// func Test_RSA(t *testing.T) {
// // 加密后的数据
// encryptedData := "Zc8v6j8vzOQw4Ea9gA+gUgZr3I0AqjzH2aTf5wvJWtYF6HtQKzg2ZQgB9fQ6M2K1YW3J8Zr+I0w/3Y8uxR7e3bL7hYqT4A+1q8TJ6Dw0Ry1HlJ7iIgO1Zk5opxY2f9gBckmZj5yF3Z5F8IaLQXkWt9rH0c3s4tqCzUvq2Tj9v+1Sd7q8="
// // RSA私钥
// privateKey := `-----BEGIN RSA PRIVATE KEY-----
// MIICXQIBAAKBgQDlTj22J4wIEvJX9sWv6Z5iG0J/1HfD7Oe2Ry5AZfU9ZTzQ9uOJ
// dCt6M2xh9qyf5jJHnU7XKvH8WJN1wYr5X6zCqEVfA3n2i9U7jUwZ1CZtY0L6glNq
// sUxjWbsZoJg8l5nr7+D1U2Y0EoJf3z2w6h2H8Cd8d4j6s3wRlZ8m4uX6cwIDAQAB
// AoGBANZ4qM8Za7z1i2rH0t1a4XXg6b7y3nHyk3KvU8u7Qn8ZyFvW7C9+eIhYh5x7
// iY9jXjA8eCjBxqVW3+4OjyA2F8H1sN3zq5sJ5XWV+8oZV0vNSm4fTfZcRf+o3R1i
// lNSGzY/7N1oDwWq7OQoqs3X6f0Tq7l3xU4DilK8C6e9a4G7KpXHvD9Nq2YqTlHlZ
// 2dGc2QaL6r8UfAiEA3Q5wQZaTfzR8l4R5o3l5pKkE+UQ3kqgX4yX7Cw8CQQD8Qq6
// sVbYH3w9hQ1vXj4S0UkY4tZsVn3KjHb9EiGQ8o3T9WlKqX6k6cYs8r3F4Vn6wK32
// aEk5eF7bAkEA6tWpYh2g3nWgWUJ8b5KdA1wLxR2JzrK4Z8LXZ8J+7R3k9TnT1D1r
// 5vqz7L5XqK7ZtT5KuYm8Hq8bq7AqzYcQMQJANrOq9GgM7QZzYwE+LsP4kL0WgJt6
// E5yW2h5KmK4YUZq7J8vnLxqJwR1H5rNjQ6XK5Bb5G6tMj3q1jK5FzZG7MQJAbH4I
// yCJ6L/rz6GYz6Sxw0J3q0K6sWJdCvC3tXxTl6tDhI1C3rRgL2pV1Kxu6l3tT1Q3o
// AM4B5wJwJzJtL8x5rQJBAIq2j9NpLX9j6tB+1lKuZUw+5UW7Lh4GgYyFZGQw7zTm
// GrLl0Y+7K7uLd7uS9J2fOgXJz8n4X9B1CBs37f8d6Nw=
// -----END RSA PRIVATE KEY-----`
// ret, err := RSA(encryptedData, privateKey)
// t.Log(ret)
// t.Log(err)
// }
// func Test_Create(t *testing.T) {
// private_file := `D:\go\go-tmp\private.pem`
// public_file := `D:\go\go-tmp\public.pem`
// Create(private_file, public_file)
// }
func Test_RSA_Encode(t *testing.T) {
// public_key := `-----BEGIN PUBLIC KEY-----
// MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArFP+5/AgprF3qHOgiJyI
// 798Yul7Ou2mlEBllv97cIIw0763O3BISc5+1io77q18qxEMAQEUwJeDR2GXKsGqY
// xS/YRxtCsHHs/y7bCLq/bFLGZGe7/tR5NQ54RjG8hGnRCGVqZVc8VItOofeldAO1
// tZQw+iQUNtMPGuvRvo44xWqp/f5gI3T1BxwZjwepDS2ULO/pAIhhPKHGOWYS/DjR
// Zu6SmO+YKxqUQRLGd1+u1bBjh5ZQARvJkJVL3zXHJ4nTvKWpOTqSIUTprMZ/pGxu
// /79mukI/qxJ5py0UhMkkPuVUgIX6JhTWsSEmKTedlu9TWDdIhAsOzLmA0Nd9WR9W
// nQIDAQAB
// -----END PUBLIC KEY-----`
// ret, err := RSA_Encode(public_key, "ccc")
// t.Log(ret)
// t.Log(err)
// private_key := `-----BEGIN RSA PRIVATE KEY-----
// MIIEogIBAAKCAQEArFP+5/AgprF3qHOgiJyI798Yul7Ou2mlEBllv97cIIw0763O
// 3BISc5+1io77q18qxEMAQEUwJeDR2GXKsGqYxS/YRxtCsHHs/y7bCLq/bFLGZGe7
// /tR5NQ54RjG8hGnRCGVqZVc8VItOofeldAO1tZQw+iQUNtMPGuvRvo44xWqp/f5g
// I3T1BxwZjwepDS2ULO/pAIhhPKHGOWYS/DjRZu6SmO+YKxqUQRLGd1+u1bBjh5ZQ
// ARvJkJVL3zXHJ4nTvKWpOTqSIUTprMZ/pGxu/79mukI/qxJ5py0UhMkkPuVUgIX6
// JhTWsSEmKTedlu9TWDdIhAsOzLmA0Nd9WR9WnQIDAQABAoIBAA3GnS7/ZCzPLQib
// Ta7+DHhYdkqXv6D9vgM+dILVFvXHH4g1db7j9vOlRcbwzS+S6QFNddytaz7r7PqG
// kKBvtQy2WWy9wiQGx3JS1ZGqFBlduJxYKpAhfhr+sCC0YySWrO4l5U56nckIZd3O
// xTwz+7erRAsLDU6gqql1RowcJG+riJyEG3K8Dx42FiOtsL3n9vMoStArKQglhvc6
// aDvri+Q/AldWjcKShvVhoJ45l10HkIpet/vANwNMC27zJTWMB/ssYHeTkRmDTrwZ
// X0X/6AFv/gfnelHpQUp3B2n+DlAOHKURsP2ithN44CrwXg+iz9fVv8VLLz/pb2Tm
// vFfOBGUCgYEA0ZT1Td0ekWQLeBMnuMmEMjlMKJ5Rxk7p//V3zl8izQOhagjZ3mZO
// eo/bkKAJbPu3CCaPA7PyDegy4QV34MR2DVrKRmRJ02xIWVsgHG/OVxHXR+oqYGdS
// yEYPYWr8SoZFwljt1a+N/teUOr63/UP6XL870QkIOCGLruLRuITEpoMCgYEA0n7L
// NgCVVWd9Sa+t4YbpyvSB49YrZ80yIAp/OcxyO7ZgI1FAIpOTr143KVbQSp3f3uzE
// iDwmB+jubT7DzgTOaSOin5KIPXUA2gkISxjnGLHBQBgxLEF5EvmbF16Hf0SZSDbS
// 01URusQ/fL9Zgxpg1QuKRHbPmiuDEsGZOrZuhF8CgYAg8rkJz6xhkQfYjbJd85hL
// yQQ3EoSql3dkHPQDxqMS9fInWFLgCtdlnz4WY4J31q60olMzctOn6gwtog1xkZE5
// kj9gh52vlkNdgNzwe4dF2vEsRhz5YOT7xT/fwdD96lQHNLHXOS0qljugbKFCOLCg
// ahP+Tdwz7tol2VS9HGpJ/wKBgCUZofl3qtptriBxrWUFoWlbJRWiJu5ZtU7+aqQm
// S7AImfM/m908Q5hyM6i+m2G7Z7zj4FPevhlAzd1FZb+HC1ZuqHgVnJuwZqEHXIXX
// 8stgcR455VjWhV95zQMWby1YSuf2ebwzzzcq5cG3/C/mU1DZgtpEUpzqtGR26On3
// Q41jAoGARkOpDEG4/Wm9k2No5GJDQ40kSwCAenjIJrz6Pk7FFaNjXePKMh2Keg7a
// N79uybBCD0yqJdFblR8DHpaIOIfz6lUHK8REycToo5X7WrOO2/zAUYa0v+Zaa+TK
// 298fm5UWMBWtwGj6gFnvwemdN5r01UqtkbNagNGxCjtZp6KSQCI=
// -----END RSA PRIVATE KEY-----`
// ret2, err := RSA_Decode(ret, private_key)
// t.Log(ret2)
// t.Log(err)
encodedStr := "MTIzNDU3ODlAJGVydDU="
// 解码Base64字符串
decodedBytes, err := base64.StdEncoding.DecodeString(encodedStr)
if err != nil {
t.Log("解码失败:", err)
return
}
// 将解码后的字节数组转换为字符串
decodedStr := string(decodedBytes)
// 打印解密后的字符串
t.Log(decodedStr)
}