python 加密解密

SECRET_KEY = "s@#ssf!=dsgdfghdg~26h_uwfudggdg"


class StrEncryption:
    def __init__(self, string):
        self.string = str(string)
        self.key = SECRET_KEY

    # 加密
    def strEncryption(self):
        entry_str = ""
        for i, j in zip(self.string, self.key):  # i为字符,j为秘钥字符
            temp = str(ord(i) + ord(j)) + '_'  # 加密字符 = 字符的Unicode码 + 秘钥的Unicode码
            entry_str = entry_str + temp
        return entry_str

    # 解密
    def strDecrypt(self):
        dec_str = ""
        for i, j in zip(self.string.split("_")[:-1], self.key):  # i 为加密字符,j为秘钥字符
            temp = chr(int(i) - ord(j))  # 解密字符 = (加密Unicode码字符 - 秘钥字符的Unicode码)的单字节字符
            dec_str = dec_str + temp
        return dec_str


if __name__ == '__main__':
    password = "a12345678..."

    jiami = StrEncryption(password).strEncryption()
    print(jiami)  # 212_113_85_166_167_155_87_116_156_161_149_146_

    jiemi = StrEncryption(jiami).strDecrypt()
    print(jiemi)  # a12345678...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值