第二题(URL→Base64→Hex):

考核内容:密码学用于解决信息安全中的保密性,完整性,认证和不可否认性等问题。
最初主要用于解决保密性。随着密码学技术的发展,逐渐应用到其它领域。常见的密码算法有很多,下面按照要求对
"53%2057%2035%206d%2062%2033%204a%2074%2059%2058%2052%2070%2062%2032%2034%2067%2055%2032%2056%206a%2064%2058%204a%2070%2064%2048%206b%2067%2051%2057%2052%2074%2061%2057%2035%2070%2063%2033%2052%2079%2059%2058%2052%2076%2063%2067%203d%203d”进行解密。(没有特别说明加密算法采用默认设置)

import base64, urllib.parse

cipher = "53%2057%2035%206d%2062%2033%204a%2074%2059%2058%2052%2070%2062%2032%2034%2067%2055%2032%2056%206a%2064%2058%204a%2070%2064%2048%206b%2067%2051%2057%2052%2074%2061%2057%2035%2070%2063%2033%2052%2079%2059%2058%2052%2076%2063%2067%203d%203d"

url_res = urllib.parse.unquote(cipher)
hex_res = bytes.fromhex(url_res).decode()
plaintext = base64.b64decode(hex_res).decode()
print(plaintext)

第五题(Base64→URL→HEX):

密码学用于解决信息安全中的保密性,完整性,认证和不可否认性等问题。最初主要用于解决保密性。随着密码学技术的发展,逐渐应用到其它领域。常见的密码算法有很多,下面按照要求对 NDkgNmUgNjYgNmYgNzIgNmQgNjEgNzQgNjkgNmYgNmUgMjUgMzIgMzAgNTMgNjUgNjMgNzUgNzIgNjkgNzQgNzkgMjUgMzIgMzAgNDEgNjQgNmQgNjkgNmUgNjkgNzMgNzQgNzIgNjEgNzQgNmYgNzI 解密

import base64, urllib.parse

cipher = "NDkgNmUgNjYgNmYgNzIgNmQgNjEgNzQgNjkgNmYgNmUgMjUgMzIgMzAgNTMgNjUgNjMgNzUgNzIgNjkgNzQgNzkgMjUgMzIgMzAgNDEgNjQgNmQgNjkgNmUgNjkgNzMgNzQgNzIgNjEgNzQgNmYgNzI="

b64_res = base64.b64decode(cipher).decode()
hex_res = bytes.fromhex(b64_res).decode()
plaintext = urllib.parse.unquote(hex_res)
print(plaintext)

第八题(URL→ROT13→Base64):

密码学用于解决信息安全中的保密性,完整性,认证和不可否认性等问题最初主要用于解决保密性。随着密码学技术的发展,逐渐应用到其它领域。常见的密码算法有很多,下面按照要求对“VmFzYmV6bmd2YmE1MjBGcnBoZXZnbCUyME5xenZhdmZnZW5nYmU=”进行解密。(没有特别说明加密算法采用默认设置)

import base64, urllib.parse, codecs

cipher = "VmFzYmV6bmd2YmElMjBGcnBoZXZnbCUyME5xenZhdmZnZW5nYmU="

b64_res = base64.b64decode(cipher).decode()
rot_res = codecs.encode(b64_res, 'rot_13')
plaintext = urllib.parse.unquote(rot_res)
print(plaintext)