第1个回答 2020-04-06
Pascal中的加密,一般首先将一个字符串分成一个一个的字符。再将这一个一个的字符通过ASCII编码表,将每一个字符通过函数:ord(a:char);得到该字符的序号(数字),然后将序号统一进行加减乘除运算从而得到新的序号(解密就是把序号逆向运算得到源序号)。再通过函数:chr(a:integer);将序号变为字符,则经过这一过程字符串就加密了。如果要密码更难解密,也可以将密码每一个字符按顺序打乱。至于解密,这就是把该过程逆向进行就可以得到加密前的字符串。
注:ord(a:char);和chr(a:integer);是互逆函数。例字符a-->
a=chr(ord(a))
正整数b-->
b=ord(chr(b))
在ASCII编码表中每一个字符都有对应的序号,包括大写字母、小写字母、符号、中文汉字。在ASCII编码表中,汉字被分为两部分,这两部分在ASCII编码表中都分别由自己对应的序号。如果出现乱码,有可能是命令提示符属性中语言为英文。修改方式为:1.右键单击命令提示符窗口标题栏2.点击“默认值”并弹出窗口3.选择“选项”标签页4.在“默认代码页”中选择简体中文并确定。这可能导致Free
Pascal等以命令提示符为界面的软件出现乱码,解决方法只需把“默认代码页”重新改成英文(美国)即可。