修改了一些语句
This commit is contained in:
10
9.6.md
10
9.6.md
@@ -1,5 +1,5 @@
|
||||
##9.6 加密和解密数据
|
||||
前面小节我们介绍了如何存储密码,但是我们开发Web应用过程中遇到过这样的情况,我们想把一些敏感数据进行存储,那存储的时候希望能够是加密方式存储的,但是这些加密的数据我们需要最后解密出来,那么就需要采用一种特定的算法来进行加解密数据。
|
||||
前面小节介绍了如何存储密码,但是有的时候,我们想把一些敏感数据加密后存储起来,在将来的某个时候,随需将它们解密出来,此时我们应该在选用对称加密算法来满足我们的需求。
|
||||
|
||||
##base64加解密
|
||||
如果Web应用足够简单,数据的安全性没有那么严格的要求,那么可以采用一种比较简单的加解密方法是`base64`,这种方式实现起来比较简单,Go语言的`base64`包已经很好的支持了这个,请看下面的例子:
|
||||
@@ -45,12 +45,12 @@
|
||||
|
||||
##高级加解密
|
||||
|
||||
Go语言的`crypto`里面支持双向加密的高级加解密包有:
|
||||
Go语言的`crypto`里面支持对称加密的高级加解密包有:
|
||||
|
||||
- `crypto/aes`包:AES(Advanced Encryption Standard),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
|
||||
- `crypto/des`包:DEA(Data Encryption Algorithm),是一种对称加密算法,是目前使用最广泛的密钥系统,特别是在保护金融数据的安全中。
|
||||
|
||||
下面以aes包作为例子来讲解这两种高级加解密算法的应用,这两种方式使用方法类似,请看下面的例子
|
||||
因为这两种算法使用方法类似,所以在此,我们仅用aes包为例来讲解它们的使用,请看下面的例子
|
||||
|
||||
package main
|
||||
|
||||
@@ -89,9 +89,7 @@ Go语言的`crypto`里面支持双向加密的高级加解密包有:
|
||||
Println("msg: ", string(plain))
|
||||
}
|
||||
|
||||
上面通过调用函数`aes.NewCipher`,参数key必须是16、24或者32位的[]byte,分别对应AES-128, AES-192或AES-256算法。
|
||||
|
||||
该函数返回了一个`cipher.Block`接口,这个接口实现了三个功能:
|
||||
上面通过调用函数`aes.NewCipher`(参数key必须是16、24或者32位的[]byte,分别对应AES-128, AES-192或AES-256算法),返回了一个`cipher.Block`接口,这个接口实现了三个功能:
|
||||
|
||||
type Block interface {
|
||||
// BlockSize returns the cipher's block size.
|
||||
|
||||
Reference in New Issue
Block a user