Python
python相关
亡月之莹
生命的目的,并不是为了存在,而是为了燃烧。燃烧才会有光亮,哪怕只有一瞬的光亮也好。
展开
-
Python随机生成出生日期
【代码】Python随机生成出生日期。原创 2022-11-27 18:16:08 · 2667 阅读 · 2 评论 -
9.加密和解密文件
内容利用置换加密法对整个文件加密或解密操作。这种文件只包含文本文数据,扩展名为.txt的文件。代码import math #---------------置换表----------------#letter_1 = ''letter_2 = ''letter_message = ''letter_password = ''# 代换表一piw = input("input letter1:")for i in piw: if 'a' <= i <= 'z':原创 2020-07-09 16:52:21 · 232 阅读 · 0 评论 -
8.置换加解密
内容实现给定字符串的加密功能,具体要求如下:其中前两个输入为代换表,第三个输入为明文,要求根据代换表,计算出密文,并打印代换后的密文。(1) mbgyalzvepsfonxqgduritwkch(2) vgiyzmpxgbscutkrnhoafdqwel(3) ggxrpnrvystmwcysyycqpevikeffmznimkkasvwsrenzkycx代码import math #---------------置换表----------------#letter_1 = ''le原创 2020-07-09 16:47:39 · 376 阅读 · 0 评论 -
10.素数的判断
法一# 法一while True: num = int(input("Please enter a number : ")) if (num == 1): print("Prime numbers are greater than 1 and have only 1 and their own integers") else: for i in range(2,num): if(num%i == 0):原创 2020-07-07 20:31:29 · 138 阅读 · 0 评论 -
5.仿射加密
5前面发漏了,现在补上原理仿射密码也是一般单表替代密码的一个特例,是一种线性变换。仿射密码的明文空间和密文空间与移位密码相同,但密钥空间为 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1}对任意m∈M,c∈C,k = (k1,k2)∈K,定义加密变换为:c = Ek (m) = k1 m +k2 (mod 26)相应解密变换为: m = Dk (c) = k1-1 (c-k2) (mod 26)编程python实现:# 字母表LETTERS = 'ABCDEFGHI原创 2020-06-26 23:10:32 · 703 阅读 · 0 评论 -
6.维吉尼亚加解密
原理:在加解密时,同样把英文字母映射为0-25的数字再进行运算,并按n个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合。因此可表示为:加密变换定义如下:设密钥 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn),加密变换为:Ek(m)=(c1,c2,…,cn), 其中ci=(mi + ki)(mod26),i =1,2,…,n对密文 c=(c1,c2,…,cn):解密变换为:Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -k原创 2020-06-26 12:46:39 · 824 阅读 · 0 评论 -
4.一般单表替代加解密
一般单表替代密码的原理是以26个英文字母集合上的一个置换π为密钥,对明文消息中的每个字母依次进行变换。可描述为:明文空间M和密文空间C都是26个英文字母的集合,密钥空间K={π:Z26→Z26|π是置换},是所有可能置换的集合。对任意π∈K,定义:加密变换:eπ(m)=π(m)=c解密变换:dπ© = π-1©=m, π-1是π的逆置换。单表代替是密码学中最基础的一种加密方式。在加密时用一张自制字母表上的字母来代替明文上的字母(比如说A——Z,B——D)来达到加密。移位密码也属于单表代替,只不过比原创 2020-06-22 17:42:25 · 3615 阅读 · 0 评论 -
3.暴力破解凯撒密码
没有什么可以阻止密码破译者猜测一个密钥,然后用这个密钥解密密文,查看输出,如果该密钥不是正确的密钥就继续尝试下一个密钥。这种每一个可能的解密密钥的技术叫暴力破解。# 凯撒密码暴力破解# (BSD Licensed)message = input("message:")LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'# 把每个可能的密钥循环一遍for key in range(len(LETTERS)): # key代表密钥 # translated原创 2020-06-22 17:23:08 · 4413 阅读 · 0 评论 -
1.反转加密
反转加密通过反向输出消息进行加密。 例如,‘hello word!’加密之后变成‘!drow olleh’解密的话,就是把你的消息在反转过来就能得到原来的消息了。message = input("message: ")#输入字符时要加双引号translated = ' 'i = len(message) - 1while i >= 0: translated = translated + message[i] i = i -1print('\n')pr..原创 2020-06-22 16:43:17 · 1263 阅读 · 0 评论