加密:
Private FunctionJiaMi(ByValvarPassAsString)AsString'参数varPass是需要加密的文本内容
DimvarJiaMiAsString*20
DimvarTmpAsDouble
DimstrJiaMiAsString
DimI
ForI=1ToLen(varPass)
varTmp=AscW(Mid$(varPass,I,1))
varJiaMi=Str$(((((varTmp*1.5)/5.6)*2.7)*I))
strJiaMi=strJiaMi&varJiaMi
Next I
JiaMi=strJiaMi
End Function
解密函数:
Private FunctionJieMi(ByValvarPassAsString)AsString'参数varPass是需要解密的密文内容
DimvarReturnAsString*20
DimvarConvertAsDouble
DimvarFinalPassAsString
DimvarKeyAsInteger
DimvarPasslenthAsLong
varPasslenth=Len(varPass)
ForI=1TovarPasslenth/20
varReturn=Mid(varPass,(I-1)*20+1,20)
varConvert=Val(Trim(varReturn))
varConvert=((((varConvert/1.5)*5.6)/2.7)/I)
varFinalPass=varFinalPass&ChrW(Val(varConvert))
Next I
JieMi=varFinalPass
End Function
扩展资料:
注意事项
编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。假设句子长度不超过100个字符。
根据给定的句子加密函数原型SentenceEncoding,编写函数SentenceEncoding调用给定的字符加密函数CharEncoding完成句子加密。
然后,编写主程序提示用户输入英文句子,然后调用函数SentenceEncoding对句子加密,最后输出加密后的句子。
字符加密规则为大写字母和小写字母均加密为其补码,我们定义ASCII码值相加为’A’+’Z’即155的两个大写字母互为补码,ASCII码值相加为’a’+’z’即219的两个小写字母互为补码。
空格用@代替,句号以#代替,其它字符用句点代替。
函数原型:
voidSentenceEncoding(char*soure,char*code);
功能:对待加密字符串source加密后保存加密字符串到code.
参数:char*soure,指向待加密句子的字符串指针;
char*code指向加密字符串的字符串指针;
字符加密函数代码。