欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python加密函數(shù),python程序加密

Python 加密程序

#coding=utf-8???

10年積累的做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有益陽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

'''''??

Description:?可逆的加密與解密??

Environment:?python2.5.x??

Author:idehong@gmail.com??

'''?

import?os???

import?sys???

class?Code(object):???

'''''可逆的加密與解密'''?

def?__init__(self,?key?=?"idehong@gmail.com"):???

self.__src_key?=?key???

self.__key?=?self.__get_strascii(self.__src_key,?True)???

def?encode(self,?value):???

'''''加密函數(shù),?加密后為一串?dāng)?shù)字'''?

return??"%d"?%?(self.__get_strascii(value,?True)?^?self.__key)???

def?decode(self,?pwd):???

'''''解密函數(shù)'''?

if?self.is_number(pwd):???

return?self.__get_strascii(?(int(pwd))?^?self.__key,?False?)???

else:???

print?'require?number.'?

def?reset_key(self,?key):???

'''''重新設(shè)置key'''?

self.__src_key?=?key???

self.__key?=?self.__get_strascii(self.__src_key,?True)???

#===============================================================================???

#????????內(nèi)部調(diào)用接口???

#===============================================================================???

def?__get_strascii(self,?value,?bFlag):???

if?bFlag:???

return?self.__get_str2ascii(value)????

else:???

return?self.__get_ascii2str(value)???

def?__get_str2ascii(self,?value):???

ls?=?[]???

for?i?in?value:???

ls.append(?self.__get_char2ascii(?i?)?)???

return?long("".join(ls))???

def?__get_char2ascii(self,?char):???

'''''獲取單個字符的acsii碼值'''?

try:???

return?"%03.d"?%?ord(char)???

except?(TypeError,?ValueError):???

print?"key?error."?

exit(1)???

def?__get_ascii2char(self,?ascii):???

if?self.is_ascii_range(ascii):???

return?chr(ascii)???

else:???

print?"ascii?error(%d)"?%?ascii???

exit(1)??????????

def?__get_ascii2str(self,?n_chars):???

ls?=?[]???

s?=?"%s"?%?n_chars???

n,?p?=?divmod(len(s),?3)???

if?p??0:???

nRet?=?int(s[0?:?p])???

ls.append(?self.__get_ascii2char(nRet))???

pTmp?=?p???

while?pTmp??len(s):???

ls.append(?self.__get_ascii2char(?int(s[pTmp:?pTmp?+?3]))?)

pTmp?+=?3?

return?"".join(ls)???

#================================================================================???

#????????工具接口???

#================================================================================???

def?is_number(self,?value):???

try:???

int(value)???

return?True?

except?(TypeError,?ValueError):???

pass?

return?False?

def?is_ascii_range(self,?n):???

return?0?=?n??256?

def?is_custom_ascii_range(self,?n):???

return?33?=?n?48?or?58?=?n??126?????????

class?Usage(object):???

'''''??

命令行參數(shù)讀取與解析??

'''?

def?__init__(self):???

self._clsWork?=?Code()???

self._args_dic?=?{'arg_help'?:?['-?',?'-help'],????

'arg_p'?:?['-p',?'-pwd'],???

'arg_t'?:?['-t',?'-text'],???

'arg_k'?:?['-k',?'-key'],???

}???????????

def?help(self,?*k):???

strHelp?=?"Usage:?pwd?[-options]?[args...]?where?option?include:"?

strHelp?+=?"""??

-??-help????????????????????print?this?help?message??

-k?key_str?-p?pwd_str??

-k?key_str?-t?text_str"""?

print?strHelp?????

def?args(self,?argv_ls):????

'''''dispatch?command'''????

#????????print?argv_ls???

if?len(argv_ls)?=?1?or?len(argv_ls)??5:???

print?'Unrecognized?option'?

return?

cmd_dic?=?{}???

curr_cmd?=?''??

#?control?command???

for?i,?v?in?enumerate(argv_ls[1:]):???

for?j?in?self._args_dic.items():???

#?add?command???

if?v?in?j[1]?and?j[0]?not?in?cmd_dic:???

curr_cmd?=?j[0]???

cmd_dic[curr_cmd]?=?[]???

break?

else:???

#?add?argv???

if?cmd_dic:???

cmd_dic[curr_cmd].append(v)???????????????

#?exec?command???

if?cmd_dic:???

self.exec_cmd(cmd_dic)???

else:???

print?'Unrecognized?option'?

def?exec_cmd(self,?cmd_dic):?????

'''''exec?cmd'''????????

if?len(cmd_dic)?==?2:???

if?'arg_p'?in?cmd_dic?and?'arg_k'?in?cmd_dic\???

and?len(cmd_dic['arg_p'])?==?1?and?len(cmd_dic['arg_k'])?==?1:???

self._clsWork.reset_key(cmd_dic['arg_k'][0])???

print?self._clsWork.encode(cmd_dic['arg_p'][0])???

return?

elif?'arg_t'?in?cmd_dic?and?'arg_k'?in?cmd_dic\???

and?len(cmd_dic['arg_t'])?==?1?and?len(cmd_dic['arg_k'])?==?1:???

self._clsWork.reset_key(cmd_dic['arg_k'][0])???

print?self._clsWork.decode(cmd_dic['arg_t'][0])???

return?

self.help()???

if?__name__?==?'__main__':???

usage?=?Usage()???

usage.args(sys.argv)

python電文加密?

##注意:最左邊每個=表示一個空格

def encrypt(t):

====s=""

====for e in t:

========if e.islower():

============s+=chr(97+(ord(e)-97+7)%26)

========elif e.isupper():

============s+=chr(65+(ord(e)-65+7)%26)

========else:

============s+=e

====return s

t=input()

print(t,encrypt(t))

用Python語言從文件夾中提取文件進行凱撒加密?

import string

def kaisa(s, k): #定義函數(shù) 接受一個字符串s 和 一個偏移量k

lower = string.ascii_lowercase #小寫字母

upper = string.ascii_uppercase #大寫字母

before = string.ascii_letters #無偏移的字母順序 小寫+大寫

after = lower[k:] + lower[:k] + upper[k:] + upper[:k] #偏移后的字母順序 還是小寫+大寫

#分別把小寫字母和大寫字母偏移后再加到一起

table = ''.maketrans(before, after) #創(chuàng)建映射表

return s.translate(table) #對s進行偏移 即加密

s = input('請輸入一個字符串:')

k = int(input('請輸入一個整數(shù)密鑰:'))

print(kaisa(s, k))

調(diào)用此函數(shù)

網(wǎng)站欄目:python加密函數(shù),python程序加密
路徑分享:http://chinadenli.net/article38/hespsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、商城網(wǎng)站、網(wǎng)站設(shè)計公司、網(wǎng)站改版、企業(yè)建站、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)