中文的加密传输(python版)

信息传输过程中,可能会被各种监听。

这里介绍一种简单的加密算法(可逆)。

正向加密:

字符串 -> 字节(char->int转换) -> 异或每个字节某个KEY  ->字节(int->char转换)-> 拼接字符串 -》-》utf-8加密 -》 16进制加密

反向解密:

字符串-》16进制解码->utf-8解码-》字节(char->int转换) -》 异或每个字节相同的KEY -》字节(int->char) -》字符串拼接

python源码如下:

key = 0xff
def encrypt(src):
    return ''.join([unichr(ord(x)^key) for x in src]).encode('utf-8').encode('hex').upper()

def decrypt(src):
    return ''.join([unichr(ord(x)^key) for x in src.decode('hex').decode('utf-8')])

测试:

>>> a=u'中国'
>>> print encrypt(a)
E4B9B8E59AA8
>>> print decrypt(encrypt(a))
中国

应用:

E4B9B8E59AA8 即为实际传输的内容,如此便有了一定的反监听效果。在算法和key不泄漏的前提下,相对安全。

转载请注明本来来源于Tommy.Yu的博客(cnblogs)