[Golang]AESを使って暗号化,復号化

Golangで共通鍵暗号を使用して暗号化して復号化するプログラムを書きました。せっかくなので情報をシェアしたいと思います。

memo.txt

I'm really happy

crypt.go

package main

import ( "crypto/aes" "fmt" "io/ioutil")

func main() {

  // 暗号化するテキストファイルを読み込む
 target, err := ioutil.ReadFile("./memo.txt") 
 if err != nil { 
  fmt.Println(err) 
 }

  //暗号化するためのkeyを作る(16byteで作る) 
 key := []byte("abcdef123456") 
 c, err := aes.NewCipher(key) 
 if err != nil { 
  fmt.Println(err) 
 }

  // 暗号化するためのスライスを用意する 
 encrypted := make([]byte, aes.BlockSize) 

 // AESで暗号化する 
 c.Encrypt(encrypted, target)
  fmt.Println(string(encrypted)) //出力:�d�]�wcL��UmE��
 // 復号化するためのスライスを用意する 
 decrypted := make([]byte, aes.BlockSize) 
 // 復号化する 
 c.Decrypt(decrypted, encrypted)
  fmt.Println(string(decrypted)) // 出力:I'm really happy
}


この記事が気に入ったらサポートをしてみませんか?