51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
|
class CaesarCypherClass:
|
|||
|
"""
|
|||
|
恺撒密码,提供以恺撒密码方法进行加密及解密的方法,加密方法使用CaesarEncode()函数,解密方法使用CaesarDecode()函数
|
|||
|
"""
|
|||
|
|
|||
|
def __init__(self, *args, **kwargs):
|
|||
|
pass
|
|||
|
|
|||
|
@staticmethod
|
|||
|
def caesar_encode(s):
|
|||
|
"""
|
|||
|
恺撒密码加密方法,需要提供需要加密的明文。
|
|||
|
"""
|
|||
|
s_encode = ''
|
|||
|
for c in s:
|
|||
|
if 'a' <= c <= 'z':
|
|||
|
s_encode += chr(ord('a') + (ord(c) - ord('a') + 3) % 26)
|
|||
|
elif 'A' <= c <= 'Z':
|
|||
|
s_encode += chr(ord('A') + (ord(c) - ord('A') + 3) % 26)
|
|||
|
elif 0x4E00 <= ord(c) <= 0x9FA5:
|
|||
|
s_encode += chr(ord(c) + 3)
|
|||
|
elif '0' <= c <= '9':
|
|||
|
s_encode += chr(ord('0') + (ord(c) - ord('0') + 3) % 10)
|
|||
|
else:
|
|||
|
s_encode += c
|
|||
|
return s_encode
|
|||
|
|
|||
|
@staticmethod
|
|||
|
def caesar_decode(s):
|
|||
|
"""
|
|||
|
恺撒密码解密方法,需要提供需要解密的密文。
|
|||
|
"""
|
|||
|
s_decode = ''
|
|||
|
for c in s:
|
|||
|
if 'a' <= c <= 'z':
|
|||
|
s_decode += chr(ord('a') + (ord(c) - ord('a') - 3) % 26)
|
|||
|
elif 'A' <= c <= 'Z':
|
|||
|
s_decode += chr(ord('A') + (ord(c) - ord('A') - 3) % 26)
|
|||
|
elif 0x4E00 <= ord(c) <= 0x9FA5:
|
|||
|
s_decode += chr(ord(c) - 3)
|
|||
|
elif '0' <= c <= '9':
|
|||
|
s_decode += chr(ord('0') + (ord(c) - ord('0') - 3) % 10)
|
|||
|
else:
|
|||
|
s_decode += c
|
|||
|
return s_decode
|
|||
|
|
|||
|
|
|||
|
class Base64CypherClass:
|
|||
|
"""
|
|||
|
Base64的加解密算法,最简单的加密方式,可加密短的文字、小图片、小文件,图片文件大小不宜超过10M
|
|||
|
"""
|