常见加密方案
1、对称加密:
即加密方和解密方都使用相同的加密算法和密钥,这种方案的密钥的保存非常关键,因为算法是公开的,而密钥是保密的,一旦密匙泄露,黑客仍然可以轻易解密。
常见的对称加密算法有:AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和 等。
2、非对称加密:
即使用不同的密钥来进行加解密,密钥被分为公钥和私钥,用私钥加密的数据必须使用公钥来解密,同样用公钥加密的数据必须用对应的私钥来解密,
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)等。
3、不可逆加密:
利用哈希算法使数据加密之后无法解密回原数据。
这样的哈希算法常用的有:SHA-256, SHA-1, MD2、MD4、MD5、HAVAL等。
Go语言对这三种加密算法的实现如下所示:
//import "crypto/sha256"
h := sha256.New()
io.WriteString(h, "His money is twice tainted: 'taint yours and 'taint mine.")
fmt.Printf("% x", h.Sum(nil))
//import "crypto/sha1"
h := sha1.New()
io.WriteString(h, "His money is twice tainted: 'taint yours and 'taint mine.")
fmt.Printf(