Add 0.9.6.md syntax highlighting
This commit is contained in:
11
zh/09.6.md
11
zh/09.6.md
@@ -4,6 +4,8 @@
|
||||
## base64加解密
|
||||
如果Web应用足够简单,数据的安全性没有那么严格的要求,那么可以采用一种比较简单的加解密方法是`base64`,这种方式实现起来比较简单,Go语言的`base64`包已经很好的支持了这个,请看下面的例子:
|
||||
|
||||
```Go
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
@@ -37,7 +39,7 @@
|
||||
fmt.Println(string(enbyte))
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
## 高级加解密
|
||||
|
||||
Go语言的`crypto`里面支持对称加密的高级加解密包有:
|
||||
@@ -46,6 +48,7 @@ Go语言的`crypto`里面支持对称加密的高级加解密包有:
|
||||
- `crypto/des`包:DES(Data Encryption Standard),是一种对称加密标准,是目前使用最广泛的密钥系统,特别是在保护金融数据的安全中。曾是美国联邦政府的加密标准,但现已被AES所替代。
|
||||
|
||||
因为这两种算法使用方法类似,所以在此,我们仅用aes包为例来讲解它们的使用,请看下面的例子
|
||||
```Go
|
||||
|
||||
package main
|
||||
|
||||
@@ -94,9 +97,11 @@ Go语言的`crypto`里面支持对称加密的高级加解密包有:
|
||||
fmt.Printf("%x=>%s\n", ciphertext, plaintextCopy)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
上面通过调用函数`aes.NewCipher`(参数key必须是16、24或者32位的[]byte,分别对应AES-128, AES-192或AES-256算法),返回了一个`cipher.Block`接口,这个接口实现了三个功能:
|
||||
|
||||
```Go
|
||||
|
||||
type Block interface {
|
||||
// BlockSize returns the cipher's block size.
|
||||
BlockSize() int
|
||||
@@ -109,7 +114,7 @@ Go语言的`crypto`里面支持对称加密的高级加解密包有:
|
||||
// Dst and src may point at the same memory.
|
||||
Decrypt(dst, src []byte)
|
||||
}
|
||||
|
||||
```
|
||||
这三个函数实现了加解密操作,详细的操作请看上面的例子。
|
||||
|
||||
## 总结
|
||||
|
||||
Reference in New Issue
Block a user