鱼C论坛

 找回密码
 立即注册
查看: 2495|回复: 3

[技术交流] chr()、ord()和ASCII码及简易文本加密器

[复制链接]
发表于 2023-8-29 17:27:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  我们知道数据的安全在很多时候很重要,比如各位鱼油都在fishc.com上有个账号,账号密码的重要性是不言而喻的——毕竟谁也不想自己攒了这么久的鱼币一下子全没了,或者好不容易等级上去了一夜之间又成了新鱼油 对吧。
  这时候函数登场了,我们吧密码通过函数加密,然后呢我们密码的安全性就有了提高——毕竟你也不想人家终端上显示的就是密码吧——但这跟我们的标题有什么关系呢?别急,马上进入正题。
  美国信息交换代码(ASCII码)这个标准是比较常见的,我们优雅的python其实也会ASCII码,不信你试试:
  1. >>> 0b1011010
  2. 90
  3. >>> ord('Z')#Z的ASCII码
  4. 90
  5. >>> chr(90)#ASCII码为90的字符
  6. 'Z'
复制代码

ASCII码的极限是127但你可以在python中试试
  1. >>>chr(25105);chr(29233);chr(40060);chr(67)#是不是很熟悉?
复制代码


好的,既然这两个函数可以在数字和字符一一对应,那么我们可不可以把他们用来加密?
我们来试试:
  1. import random as r
  2. import time


  3. def encryption(file_name,word=None,m_way=lambda x:x*2+3,r_way =lambda x: int((x-3)/2) ,m=0) :#加密/解密
  4.     if m!=0:
  5.         f=open(file_name)
  6.         a=""
  7.         
  8.         for i in f.read():
  9.             a=a+chr(r_way(ord(i)))
  10.         print(a)
  11.         with open("(已解密)"+file_name,"w") as f1:
  12.             f1.write(a)
  13.         f.close()            
  14.     else
  15.          with open(file_name,"w") as f:
  16.              a=""
  17.              for i in word:
  18.                  a=a+chr(m_way(ord(i)))
  19.              f.write(a)
  20. def random_name(len):
  21.     try:
  22.         name=str(time.localtime()[:5])
  23.     except:
  24.         name="(获取时间错误)"
  25.     for i in range (len ):
  26.         name=name+str(r.randint(0,10))
  27.     return name+".txt"
  28.    
  29. name=input("1: 加密 其他:解密(输入文件名称)")
  30. if name=="1":
  31.    encryption(random_name(7), word=input("加密内容:"))
  32. else:
  33.     encryption(name,m=1)
复制代码


  你应该会看到错误(如果没异常那就试试'I love fishc.com 或者是我爱鱼C工作室),想想原因是什么,并尝试修复它。

  其实这个程序有很多BUG,尝试去修改一下

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-9 15:37:24 | 显示全部楼层
太容易被破 解了,用这个加密后应该还要做一遍 md5
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-9-9 18:15:08 | 显示全部楼层
zhangjinxuan 发表于 2023-9-9 15:37
太容易被破 解了,用这个加密后应该还要做一遍 md5

有道理
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-9 18:24:04 | 显示全部楼层
zhangjinxuan 发表于 2023-9-9 15:37
太容易被破 解了,用这个加密后应该还要做一遍 md5

所以,你遇到异常了没
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表