diff --git a/zh/09.6.md b/zh/09.6.md index deee4540..b4a69fc9 100644 --- a/zh/09.6.md +++ b/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) } - +``` 这三个函数实现了加解密操作,详细的操作请看上面的例子。 ## 总结