1. 数据加密主要涉及三要素
数据加密主要涉及三要素:明文、密钥、密文。
非对称加密:
在加解密的时候,使用的是不同的密钥:一个是公钥,一个是私钥
密钥的使用:
公钥加密,私钥解密
私钥解密,公钥加密
密钥的特点:
公钥:公共的密钥,可以发给任何人
私钥:只有生成密钥的一端可以持有,其他人不能知晓,所以需要保管好私钥
加密速度慢,加密效率低(相对于对称加密)
适合加密少量的数据
加密等级较高(相对于对称加密)
非对称加密的密钥分发指的是公钥的分发,私钥需要保存好
2. 一段明文如何加密为密文
可以用古典密码进行加密
古典密码常用的有凯撒加密等等
要好理解的话我说一下吧
比如明文abcd密钥5密文efgh就是将字母顺序向右移动五位(位移5)
现在用凯撒密码加密一句话iloveyou
密文为nqtajdtz
还有一个反字母表加密
字母表abcdefghijklmnopqrstuvwxyz
反字母表zyxwvutsrqponmlkjihgfedcba
比如abcdefg加密后为stuvwyz
FunctionCaesar(str,offset)
Dimlength,char,i
Caesar=""
length=Len(str)
Fori=1Tolength
char=Mid(str,i,1)
Ifchar>="A"Andchar<="Z"Then
char=Asc("A")+(Asc(char)-Asc("A")+offset)Mod26
Caesar=Caesar&Chr(char)
ElseIfchar>="a"Andchar<="z"Then
char=Asc("a")+(Asc(char)-Asc("a")+offset)Mod26
Caesar=Caesar&Chr(char)
Else
Caesar=Caesar&char
EndIf
Next
EndFunction
inputbox"密文:","凯撒密码",Caesar("iloveyou",5)
'"iloveyou"是要加密的字符串;5是字母的位移数
Input=Inputbox("输入字符加解密","反字母表加解密")
IfInput=""ThenWscript.quit
Fori=1ToLen(LCase(Input))
IfMid(LCase(Input),i,1)="a"ThenOutput=Output&"z"
IfMid(LCase(Input),i,1)="b"ThenOutput=Output&"y"
IfMid(LCase(Input),i,1)="c"ThenOutput=Output&"x"
IfMid(LCase(Input),i,1)="d"ThenOutput=Output&"w"
IfMid(LCase(Input),i,1)="e"ThenOutput=Output&"v"
IfMid(LCase(Input),i,1)="f"ThenOutput=Output&"u"
IfMid(LCase(Input),i,1)="g"ThenOutput=Output&"t"
IfMid(LCase(Input),i,1)="h"ThenOutput=Output&"s"
IfMid(LCase(Input),i,1)="i"ThenOutput=Output&"r"
IfMid(LCase(Input),i,1)="j"ThenOutput=Output&"q"
IfMid(LCase(Input),i,1)="k"ThenOutput=Output&"p"
IfMid(LCase(Input),i,1)="l"ThenOutput=Output&"o"
IfMid(LCase(Input),i,1)="m"ThenOutput=Output&"n"
IfMid(LCase(Input),i,1)="n"ThenOutput=Output&"m"
IfMid(LCase(Input),i,1)="o"ThenOutput=Output&"l"
IfMid(LCase(Input),i,1)="p"ThenOutput=Output&"k"
IfMid(LCase(Input),i,1)="q"ThenOutput=Output&"j"
IfMid(LCase(Input),i,1)="r"ThenOutput=Output&"i"
IfMid(LCase(Input),i,1)="s"ThenOutput=Output&"h"
IfMid(LCase(Input),i,1)="t"ThenOutput=Output&"g"
IfMid(LCase(Input),i,1)="u"ThenOutput=Output&"f"
IfMid(LCase(Input),i,1)="v"ThenOutput=Output&"e"
IfMid(LCase(Input),i,1)="w"ThenOutput=Output&"d"
IfMid(LCase(Input),i,1)="x"ThenOutput=Output&"c"
IfMid(LCase(Input),i,1)="y"ThenOutput=Output&"b"
IfMid(LCase(Input),i,1)="z"ThenOutput=Output&"a"
IfMid(LCase(Input),i,1)=""ThenOutput=Output&""
Next
MsgboxOutput,0,"反字母表加解密"