Fix typo, modify Japanese expression

Fix typo, modify Japanese expression.
"復元" also means decrypt in Japanese, however more precisely, the word
"復号" is used as the technical term.
(People often use "復号化" but it is not correct when I split hairs;))
This commit is contained in:
Hirofumi Tamori
2014-08-31 01:40:56 +09:00
parent 1540956321
commit 93b44e27df
11 changed files with 25 additions and 26 deletions

View File

@@ -1,7 +1,7 @@
# 9.6 データを暗号化/復する
# 9.6 データを暗号化/復する
前の節でどのようにしてパスワードを保存するかご紹介しました。しかしあるときには、慎重に扱うべきデータを暗号化して保存し、将来のあるときにいつでもそれらを復元したい場合があります。この時双方向暗号化アルゴリズムを使って我々の要求を満たさなければなりません。
## base64で暗号化/復する
## base64で暗号化/復する
もしWebアプリケーションが十分に簡単であれば、データのセキュリティにはそれほど厳格な要求があるわけではありません。ですので比較的簡単な暗号化である`base64`を採用することができます。このような方法は実装するのが比較的簡単で、Go言語の`base64`パッケージではすでにこれをよくサポートしています。下の例をご覧ください:
package main
@@ -38,9 +38,9 @@
}
## 高度な暗号化/復
## 高度な暗号化/復
Go言語の`crypto`では双方向暗号の高度な暗号化/復パッケージがあります:
Go言語の`crypto`では双方向暗号の高度な暗号化/復パッケージがあります:
- `crypto/aes`パッケージ:AES(Advanced Encryption Standard)は、Rijndael暗号化アルゴリズムとも呼ばれます。アメリカの連邦政府が採用しているブロック暗号の標準の一つです。
- `crypto/des`パッケージDES(Data Encryption Standard)は双方向暗号化標準のひとつです。これは現在秘密鍵のシステムに最も広く使用されています。特に金融データのセキュリティの保護で使われています。かつてアメリカ連邦政府の暗号化のスタンダードでしたがすでにAESにとってかわられています。
@@ -59,14 +59,14 @@ Go言語の`crypto`では双方向暗号の高度な暗号化/復元パッケー
var commonIV = []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
func main() {
//暗号化したい文字列
// 暗号化したい文字列
plaintext := []byte("My name is Astaxie")
//暗号化された文字列を渡すと、plaintは渡された文字列になります。
// 暗号化された文字列を渡すと、plaintは渡された文字列になります。
if len(os.Args) > 1 {
plaintext = []byte(os.Args[1])
}
//aesの暗号化文字列
// aesの暗号化文字列
key_text := "astaxie12798akljzmknm.ahkjkljl;k"
if len(os.Args) > 2 {
key_text = os.Args[2]
@@ -81,13 +81,13 @@ Go言語の`crypto`では双方向暗号の高度な暗号化/復元パッケー
os.Exit(-1)
}
//暗号化文字列
// 暗号化文字列
cfb := cipher.NewCFBEncrypter(c, commonIV)
ciphertext := make([]byte, len(plaintext))
cfb.XORKeyStream(ciphertext, plaintext)
fmt.Printf("%s=>%x\n", plaintext, ciphertext)
// 復文字列
// 復文字列
cfbdec := cipher.NewCFBDecrypter(c, commonIV)
plaintextCopy := make([]byte, len(plaintext))
cfbdec.XORKeyStream(plaintextCopy, ciphertext)
@@ -110,10 +110,10 @@ Go言語の`crypto`では双方向暗号の高度な暗号化/復元パッケー
Decrypt(dst, src []byte)
}
この3つの関数は暗号化/復操作を実現します。詳細な操作は上の例をご覧ください。
この3つの関数は暗号化/復操作を実現します。詳細な操作は上の例をご覧ください。
## まとめ
この節ではいくつかの暗号化/復アルゴリズムをご紹介しました。Webアプリケーションを開発している時は要求に合わせて異なる方法によって暗号化/複合を行うことができます。一般的なアプリケーションではbase64アルゴリズムを採用することができます。より高度な場合はaesやdesアルゴリズムを採用することができます。
この節ではいくつかの暗号化/復アルゴリズムをご紹介しました。Webアプリケーションを開発している時は要求に合わせて異なる方法によって暗号化/復号を行うことができます。一般的なアプリケーションではbase64アルゴリズムを採用することができます。より高度な場合はaesやdesアルゴリズムを採用することができます。
## links