用python给自己写一个加密算法
生活随笔
收集整理的這篇文章主要介紹了
用python给自己写一个加密算法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
我們經(jīng)常在寫(xiě)程序的過(guò)程中需要給自己寫(xiě)一些敏感的信息,比如密碼,那么我們?nèi)绾谓o自己的密碼加密呢?現(xiàn)在我們自己來(lái)給自己寫(xiě)一個(gè)加密和解密的程序
程序
# coding:utf-8# !/usr/bin/env python# Time: 2018/4/28 14:45# Author: sty# File: forbid_password.pydef encrypt(key, s): b = bytearray(str(s).encode("gbk")) n = len(b) # 求出 b 的字節(jié)數(shù) c = bytearray(n*2) j = 0 for i in range(0, n): b1 = b[i] b2 = b1 ^ key # b1 = b2^ key c1 = b2 % 16 c2 = b2 // 16 # b2 = c2*16 + c1 c1 = c1 + 65 c2 = c2 + 65 # c1,c2都是0~15之間的數(shù),加上65就變成了A-P 的字符的編碼 c[j] = c1 c[j+1] = c2 j = j+2 return c.decode("gbk") def decrypt(key, s): c = bytearray(str(s).encode("gbk")) n = len(c) # 計(jì)算 b 的字節(jié)數(shù) if n % 2 != 0 : return "" n = n // 2 b = bytearray(n) j = 0 for i in range(0, n): c1 = c[j] c2 = c[j+1] j = j+2 c1 = c1 - 65 c2 = c2 - 65 b2 = c2*16 + c1 b1 = b2^ key b[i]= b1 try: return b.decode("gbk") except: return "failed"key = 30
s1 = encrypt(key, 'hello')
print(s1)s2 = decrypt(key, s1)
print(s2)
輸出
GHLHCHCHBH
hello
查考文檔
http://blog.51cto.com/wangwei007/1108784
總結(jié)
以上是生活随笔為你收集整理的用python给自己写一个加密算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Aho-Corasick 多模式匹配算法
- 下一篇: 利用exchangelib快速上手使用p