前两篇文章介绍了如何使用MFC架构程序和如何在MFC中调用Python程序。今天介绍如何在python中实现加解密功能,包括urlencode、unicode、ascii和16进制互转、rot13、base64、QWE、阿特巴什、摩斯码、ADFGX、培根、凯撒、维吉尼亚等算法。
一、加密程序
urlencode
def Myurldecode(m_str):
return quote(m_str)
unicode
def Myunicode(m_str):
return m_str.encode('unicode_escape')
大小写互换
def Myswapcase(m_str):
return m_str.swapcase()
ascii转16进制
def AsciiToHex(m_str):
return binascii.b2a_hex(m_str)
16进制转ascii
def HexToAscii(m_str):
return binascii.a2b_hex(m_str)
ROT13
def S_rot13(s, OffSet=13):
def encodeCh(ch):
f=lambda x: chr((ord(ch)-x+OffSet) % 26 + x)
return f(97) if ch.islower() else (f(65) if ch.isupper() else ch)
return ''.join(encodeCh(c) for c in s)
Bash64
def MyBase64(m_str):
str1 = base64.b64encode(m_str)
return str1
QWE编码
QWE_dicts = {
'K':'a','X':'b','V':'c','M':'d','C':'e','N':'f','O':'g','P':'h','H':'i','Q':'j','R':'k','S':'l','Z':'m','Y':'n','I':'o','J':'p','A':'q','D':'r','L':'s','E':'t','G':'u','W':'v','B':'w','U':'x','F':'y','T':'z'};
def S_QWE(S_str):
result ='';
S_str = S_str.upper();
for i in range(len(S_