1 Star 0 Fork 0

ZZQNL / 模拟区块链项目

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 3.20 KB
一键复制 编辑 原始数据 按行查看 历史
ZZQNL 提交于 2021-07-11 23:21 . 模拟区块链
package main
import "fmt"
//通过加密模式得选择,设置密钥,明文,生成密文
func main() {
//plainText := desDecrypt(cipherText,key)
//fmt.Println("明文:",string(plainText))
//fmt.Println("aes 加解密:")
////aes 加解密:
//key1 := []byte("12345678asdasdcv")
//cipherText = aesEncrypt(str,key1)
//fmt.Println("密文:",cipherText)
//plainText = aesDecrypt(cipherText,key1)
//fmt.Println("明文:",string(plainText))
fmt.Println("加密或者解密,True or False:")
var b bool
fmt.Scan(&b)
if !b {
for {
fmt.Println("选择DES解密或者AES解密,输入D or A")
var choose string
fmt.Scan(&choose)
if choose == "D" {
fmt.Println("des 解密:") //des 加解密:
key := make([]byte, 0)
fmt.Print("请输入密钥然后回车\n(中文占三位,字母数字占一位)(只能为八位):")
fmt.Scan(&key)
if len(key) != 8 {
fmt.Println("切片长度不符合")
fmt.Println(key)
return
}
fmt.Println("\n密钥为:", string(key[:]))
fmt.Print("输入密文:")
var strr string
fmt.Scan(&strr)
var str []byte = []byte(strr)
cipherText := desDecrypt(str, key)
fmt.Println("明文:", string(cipherText[:]))
return
} else if choose == "A" {
fmt.Println("aes 解密:") //des 加解密:
key := make([]byte, 0)
fmt.Print("请输入密钥然后回车\n(中文占三位,字母数字占一位)(只能为16位):")
fmt.Scan(&key)
if len(key) != 16 {
fmt.Println("切片长度不符合")
fmt.Println(key)
return
}
fmt.Println("\n密钥为:", string(key[:]))
fmt.Print("输入密文:")
var strr string
fmt.Scan(&strr)
var str []byte = []byte(strr)
cipherText := aesDecrypt(str, key)
fmt.Println("明文:", string(cipherText[:]))
return
} else {
fmt.Println("退出!")
break
}
}
} else if b {
for {
fmt.Println("选择DES加密或者AES加密,输入D or A")
var choose string
fmt.Scan(&choose)
if choose == "D" {
fmt.Println("des 加密:") //des 加解密:
key := make([]byte, 0)
fmt.Print("请输入密钥然后回车\n(中文占三位,字母数字占一位)(只能为八位):")
fmt.Scan(&key)
if len(key) != 8 {
fmt.Println("切片长度不符合")
fmt.Println(key)
return
}
fmt.Println("\n密钥为:", string(key[:]))
var strr string
fmt.Print("输入明文:")
fmt.Scan(&strr)
var str []byte = []byte(strr)
cipherText := desEncrypt(str, key)
fmt.Println("密文:", cipherText)
return
} else if choose == "A" {
fmt.Println("aes 加密:") //des 加解密:
key := make([]byte, 0)
fmt.Print("请输入密钥然后回车\n(中文占三位,字母数字占一位)(只能为16位):")
fmt.Scan(&key)
if len(key) != 16 {
fmt.Println("切片长度不符合")
fmt.Println(key)
return
}
fmt.Println("\n密钥为:", string(key[:]))
var strr string
fmt.Print("输入明文:")
fmt.Scan(&strr)
var str []byte = []byte(strr)
cipherText := aesEncrypt(str, key)
fmt.Println("密文:", cipherText)
return
} else {
fmt.Println("退出!")
break
}
}
}
}
Go
1
https://gitee.com/luo-hongjun/Simulate-blockchain-projects.git
git@gitee.com:luo-hongjun/Simulate-blockchain-projects.git
luo-hongjun
Simulate-blockchain-projects
模拟区块链项目
master

搜索帮助