pascal加密解密字符
你可以试试用随机函数编辑一个类似ASICC码的文件。并命名。每次运行程序,随机生成。每个被加密的字符串自然会有不同的加密方法。同样保存加密方法。每次要解密的时候就可以用文件解密。不过在保存加密方法是的文件最好是在一段数字堆中寻找。例如:A=87 C=99
那么保存加密方法的文件可以是
1 87 14 45
44 35 34 99
至于具体自己去定义。除非源代码被破解。很难猜的出来吧。
或者两串数字,一串通过ASICC码确定字符,一段为加密方法
program Project1;{$APPTYPE CONSOLE}var ch:char;begin writeln('please input password'); //read(ch); //while ch'#' do repeatread(ch); //begin if (ord(ch)>=65) and (ord(ch)=87) and (ord(ch)=97) and (ord(ch)=119) and (ord(ch)<=122) then ch:=chr(ord(ch)-22); end; end; end;//end; //read(ch); write(ch); until ch='#'; //end; readln; //readlnend.
以下加密程序,原理是利用字符偏移达到加密效果。比如a向后偏移2个位置就是c,这样原来有意义的字符串,经过偏移后会变得面目全非。
程序运行时,首先输入一个加密数字(偏移量),再输入原文。
program jiami; //加密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) + p;
if t>126 then t:=t-126+31;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
————————————————————————————
以下为解密程序,可将上面加密程序生成的字符串还原为本来的字符串。
程序运行时,首先输入一个解密数字(偏移量),再输入密文。
program jiemi; //解密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) - p;
if t<32 then t:=32-t+125;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
———————————————————
以下为加解密一体机,既可加密也可解密。原理是利用xor(异或)运算实现。异或运算有个特点,一次异或得密文,再次异或得原文。
program jiajiemi;
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) xor p;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
。。你想要问什么?
python凯撒密码编写程序详解
然后,程序遍历文本中的每个字符,对于每个字符,如果它是字母,就将其转化为小写字母并计算对应的ASCII码,然后将ASCII码加上移位的距离并转化为对应的字符,最后将加密后的字符添加到result字符串中。如果字符不是字母,则直接将其添加到result字符串中。最后,程序返回加密后的结果。解密程序的实现与加密...
这种加密是用什么加密的?有解密途径吗?
第一种是通过URI方法加密的,这样的加密代码前都会发现有这样一个单词:decodeURI或者decodeURIcomponent。第二种是通过escape方法加密的,这样的加密代码前都有单词:unescape。第三种是以ASCII码替代代码的方法加密的,加密代码的内部都有这个单词:eval。下面我来解释一下为什么三种方法里面肯定含有上一段我...
C#关于System.Text.ASCIIEncoding 加密后怎么解密问题
ASCIIEncoding 把字符串转换为asc码,但是不同的字符转为asc后的,位数是不同的,如果asc是以数组或者其他能够隔离的方式存储,则不需要考虑位数问题。否则,最后统一凑齐为3位数,这样以3位数逆转,会比较方便。Byte[] encodedBytes = ascii.GetBytes(unicodeString);String decodedString = ascii.GetStri...
汇编语言编程:数字加密,数字字符0~9,分别对应小写字母a~g
‘a'的ASCII码是61h 两者差了31h 因此,加密时数字字符加31h,就变成了对应的小写字母字符。解密时小写字母减去31h就成了数字字符。例如:mov al,'1'add al,31h
用DOS算法设置加密解密程序设计?
以下是C 语言编写一个简单的加密解密程序。假设我们想将原始字符串中的每个字符按照 ASCII 码加上一个固定的偏移量,得到一个加密后的字符串。这个偏移量可以是用户指定的,也可以是程序自动生成的。下面是加密程序的代码:```c include <stdio.h> include <string.h> int main() { char input[...
VBS加密解密问题
加密函数也就是ASCdata的作用就是将每个字符用asc函数转换为相应的ASCII码,并在后面加上逗号 我认为解密就是将这些ASCII码用chr函数转换为字符 Function Chrdata(Data)Data = Split(Data, ",")newdata=""for x=0 to UBound(Data)newdata = newdata & Chr(CInt(Data(x)))next Chrdata=new...
12:字符串加密、解密
(1)、单向加密算法:只能加密,不能解密的算法 如:用户账号密码(单向加密)存储,此时任何人都不能查看该用户的明文密码 流程->用户输入明文密码->加密->和存储的密文密码进行比较->相等-成功 单向散列加密算法-> MD5加密 单项哈希加密算法-> SHAX加密 (2)、双向加密算法:可以加密,...
加密技术中的密钥的概念是什么?
密钥又分为加密钥和解密钥,线性加密的加密钥与解密钥相同,明码加密的加密钥不能解密,而且也无法从加密钥中算出解密钥。以线性加密举个简单的例子:假如明文是abcd,其ASCII码是96,97,98,99,密钥是3,7,5,2,加密算法是依次相加,那么密文的ASCII码就是:99,104,103,101,即d,i,h,f就是密文...
用c语言设计一个简单地加密算,解密算法,并说明其中的原理
原理:用户输入创建密码,机器读取,并把每一位密码进行加密,这里就是把每一位的 ASCII码加一(也可以有其他的加密方式),然后保存在文件里。解密时从文件中读取保存的乱码,然后把它每一位的ascII码减一 在与你输入的密码比较,正确既可以进入。define CODE_SIZE 10 int password(){ FILE *fp;c...
...%B3%89%E7%A7%80%E6%9C%8D%E9%A5%B0这什么算法的加密,如何解密...
这算不上是加密,只是URL编码,是将字符的内码的十六进制形式两个一组并符加%前缀得到的.如果是ANSI编码,首位小于8的是ASCII字符,取两位,将这两位十六进制转换为对应的ASCII字符就可解码,首位大于8的,取两组四位,再转换成对应的字符可解码.如果是UTF-8编码,则要按UTF-8的编码规则截取,ASCII是一组...
壹饶安吉: program Project1; {$APPTYPE CONSOLE} var ch:char; begin writeln('please input password'); //read(ch); //while ch'#' do repeatread(ch); //begin if (ord(ch)>=65) and (ord(ch) ch:=chr(ord(ch)+4) else begin if (ord(ch)>=87) and (ord(ch) ch:=chr(ord(...
二七区18463828583: pascal可以对文本加密吗??
壹饶安吉: 楼上仁兄说的对,任何语言都可以,但是有些语言有相应的函数库或者包,就像函数调用一样直接使用即可,例如java里面的MD5,但是有些语言没有这些库或者包,需要自己实现,pascal印象中是没有,目前的现实应用中比较少用到pascal,没有相应的库或者包,自己实现要看你的加密和解密算法,这涉及到密码学的知识,比较间单的例如凯撒密码,现代很重要加密算法ESA、RSA等,有兴趣可以学一下,可以充分感受电影里面那些高手破解密码的真实感觉.
二七区18463828583: pascaL问题 加密规则如下: 1.原文中a -- b,b--c,...y--z,z--a. 2.除小写字母其它原样照应. 求:加密解密. - ?
壹饶安吉: 此加密规则是将原文的每个字符的ASCALL码加一,当然,有个特殊情况,就是z要变成a. pascal中,对于字符型,可用inc函数加一,加密的核心代码如下: for i:=1 to length(s) do begininc(s[i]);if s[i]>'z' then s[i]:='a' end; 若解密则相反,减一就行了(用dec函数).
二七区18463828583: pascal对字符文本的加密处理原理,包括汉字.?
壹饶安吉: Pascal中的加密,一般首先将一个字符串分成一个一个的字符.再将这一个一个的字符通过ASCII编码表,将每一个字符通过函数:ord(a:char);得到该字符的序号(数字),然后将序号统一进行加减乘除运算从而得到新的序号(解密就是把序号...
二七区18463828583: pascal加密解密字符 - ?
壹饶安吉: 以下加密程序,原理是利用字符偏移达到加密效果.比如a向后偏移2个位置就是c,这样原来有意义的字符串,经过偏移后会变得面目全非.程序运行时,首先输入一个加密数字(偏移量),再输入原文.program jiami; //加密程序 var s1,s2:...
二七区18463828583: pascal 字符型详解 - ?
壹饶安吉: 先读入一个字符,如果这个字符不是空格(名字和成绩的分隔符)那就继续读,并且将读到的字符加到字符串name[i]的末尾.如果这个字符是空格,那么就开始读其他的数据
二七区18463828583: 用Pascal编程:已知一段移位密码的密文,用穷尽秘钥搜索解密. - ?
壹饶安吉: 原先编过一个,删掉了.现在重新编. 还是先讲一下移位密码的历史吧. 恺撒移位密码,古典密码中一个非常著名的例子,位移密钥k=3. 类似这种在丹布朗的小说中也有涉及(好像是《数字城堡》). 现在,我们开始编程.1. 其实这就是一...
二七区18463828583: 用pascal 加密密码 - ?
壹饶安吉: var s:string; i:integer; begin readln(s); for i:=1 to length(s) do if s[i] in ['A'..'Z','a'..'z'] then if s[i] in ['Z','z'] then dec(s[i],25) else inc(s[i]); writeln(s); end.
二七区18463828583: (100分)谁有加密算法?不需要太复杂,但是一定要PASCAL描述的,急用,没工?
壹饶安吉: 现在关键的就是算法了;我用的是打乱顺序的方法,比如说把第length(str1)个字符放到第一位,解密只要放回即可,这样加密和解密的算法可以相互换用;用这种方法加密汉字的文本后,显示的就是一些奇怪的字符,人家看不懂;但是这个方法有个最大的缺点就是,如果有人看了加密后的文件,并且不小心改了个字符或者加了个空格,那就坏了,解密后的东西,可能就会有些东西还是看不懂的乱码;所以这个方法有缺陷;想来想去,还是字符加值的方法比较好点,他是针对某个字符而不是字符串,所以不会出现什么错误;你说的那个什么#0的问题,我没弄懂,而且我回去按照这样编程序的时候,也没发现你所说的问题,可能我的测试还是不全面吧!
二七区18463828583: pascal里所有保留字和标识符以及它们的意思 - ?
壹饶安吉: PASCAL中,保留字分为6种共36个:(1)程序、函数、过程符号 program,function,procedure(2)说明部分专用定义符号 array,const,file,label,of packed,record,set,type,var (3)语句专用符号 case,do,downto,else,for,forward,goto,if,repeat,then,to ...