一.异或加密
异或本身是一种操作,简述一下效果:如果相同,则为0, 不同则为1
例如 0 xor 0 = 0;1 xor 0= 1; 1101 xor 0110 = 1001
1010
1100
-------
0110
1100
----------
1010
1010和0110对1100进行异或操作可以得到对方,不难看出异或的解密方式就是再异或一次
demo.go
package main
import "fmt"
func main(){
// 明文
plainText := 1314
// 密钥
key := 520
// 需要通过一定的算法,得到密文 // 异或运算
cipherText := plainText ^ key
fmt.Println("加密之后的结果:",cipherText)
plainText = cipherText ^ key
fmt.Println("解密之后的结果:",plainText)
}
结果:
二.凯撒加密法
凯撒加密法,或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。
比如说offset=3 h->k l->o
下面是简单的实现代码:
demo.go
package main
import (
"fmt"
)
func main(){
//明文: hello
plainText := []byte("hello")
//密钥: 位移的位数
var key byte = 3
for i,b