教你用Python做个简单的加密程序(还基础什么呀,直接来练习吧,带源码)

       因为发现基础教程我之前推荐的那个网站就已经很完善了,就不重复写了,所以本汪来一起做练习吧。

一、加密原理

       记得当时我学c++的时候,学到输入输出流的时候,当时王老师就教我们写了一个小的加密程序,所以这次既然学习了Python这个小练习当然不能放过(其实这个加密程序我用c++,java都写过可以说也算比较熟了)。加密原理就是循环读取文件每个字节,然后进行相应的加密运算后就是加密操作了,解密时候进行逆运算就是解密操作了。

       比如我们读取文件的第一个字节数据是20(读取出来的每位数据为0~255,因为8位是1字节,所以二进制的00000000~11111111表示的无符号数字范围就是0~255了),加密我们可以选择在这个基础上加1,那么加密后的第1个字节就是21了,如果我们将所有字节加1,那么相当于文件进行了加密(需要注意的是如果是255的话加1会越界,所以边界值需要特殊处理,如256的话我们则直接写入0)。解密时候我们每个字节都减1即可(当然边界值需要自己处理,比如之前加密后的0,我们直接写入255)。当然这样解密是不是很容易就会破解那,所以我们可以定义一个字符串来进行加密,比如“123456”,我们第1个字节与1进行加密,第2个字节与2进行加密,到了第7个我们再与1加密进行,直到所有字节都循环与这个字符串加密完,这样是不是加大了破解的难度那?

       当然我用的是异或加密算法,异或一个最神奇的地方莫过于不借助任何变量将2个变量的值交换了。比如 

a=10 b=20 a^=b b^=a a^=b print(a) print(b) #输出 #20 #10

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgwpw.html