A. 怎樣用python中的字典編寫對凱撒密碼的加密和解密的程序不用字典呢
//1. Math.ceil()用作向上取整。
//2. Math.floor()用作向下取整。
alert(Math.ceil(10/3));//4
alert(Math.floor(10/3));//3
alert(Math.round(10/3));//3
B. 用Python2.7.10編寫凱撒密碼加密和解密程序
s=raw_input('[開始加密]pleaseinputyourstr:')
s=list(s)
n=0
forswins:
s[n]=chr(ord(sw)+3)
n=n+1
sout=''
forsw2ins:
sout=sout+sw2
print'[加密結果]:',sout
解密的類似,主要用到ord、chr函數。
C. 設計一個程序,復習Python文件的使用
要求有點多 但是不難
D. 有沒有簡單的Python3.7加密解密的代碼
我們最需要注意的是 相對於 3.6 來說, 3.7 在語法上幾乎是完全 兼容, 除了如下這一點:
Backwards incompatible syntax changes:
async and await are now reserved keywords.
這段話,指出了 3.7 的唯一不兼容 3.6 的地方就是 async 和 await 變成了Python語言中保留的關鍵字了。
什麼意思?
就是 async 和 await 這兩個詞 就像 import, for, while 這些詞一樣, 是系統保留特殊用途的關鍵字。
也就是說在Python 3.7 裡面你不能使用定義 變數、函數之類的 名字
E. Python編程實現加密解密讀取文件
對Python加密時可能會有兩種形式,一種是對Python轉成的exe進行保護,另一種是直接對.py或者.pyc文件進行保護,下面將列舉兩種形式的保護流程。
1、對python轉exe加殼
下載最新版VirboxProtector加殼工具,使用加殼工具直接對demo.exe進行加殼操作
2、對.py/.pyc加密
第一步,使用加殼工具對python安裝目錄下的python.exe進行加殼,將python.exe拖入到加殼工具VirboxProtector中,配置後直接點擊加殼。
第二步,對.py/.pyc進行加密,使用DSProtector對.py/.pyc進行保護。
安全技術:
l虛擬機外殼:精銳5的外殼保護工具,創新性的引入了預分析和自動優化引擎,有效的解決了虛擬化保護代碼時的安全性和性能平衡問題。
l碎片代碼執行:利用自身成熟的外殼中的代碼提取技術,抽取大量、大段代碼,加密混淆後在安全環境中執行,最大程度上減少加密鎖底層技術和功能的依賴,同時大量大段地移植又保證了更高的安全性。
lVirbox加密編譯引擎:集編譯、混淆等安全功能於一身,由於在編譯階段介入,可優化空間是普遍虛擬化技術無法比擬的,對代碼、變數的混淆程度也有了根本的提升。
l反黑引擎:內置R0級核心態反黑引擎,基於黑客行為特徵 的(反黑資料庫)反制手段。精準打擊調試、注入、內存修改等黑客行為,由被動挨打到主動防護。
加密效果:
加密之前
以pyinstall 的打包方式為例,使用pyinstxtractor.py文件對log_322.exe進行反編譯,執行後會生成log_322.exe_extracted文件夾,文件夾內會生成pyc文件。
成功之後會在同目錄下生成一個文件夾
F. 利用以下python代碼編寫欄柵加密和解密
修改後運行結果:
a. 加密
1.進行柵欄加密
2.進行柵欄解密
請選擇: 1
請輸入分組數目 2
請輸入列排編號 21
請輸明文 abcdefgh
b a
d c
f e
h g
b. 解密
1.進行柵欄加密
2.進行柵欄解密
請選擇: 2
請輸入分組數目 2
請輸入列排編號 21
請輸密文 b a d c f e h g
abcdefgh
修改後的代碼:
def Encrypt(n,col,M):
row=len(M)/n
if len(M)%n>0:
row+=1
arr=[[""for x in range(0,n)] for y in range(0,row)]
x=0
for i in range(0,row):
for j in range(0,n):
if x<len(M):
arr[i][j]=M[x]
#print M[x],
x+=1
#print "\r\n"
for i in range(0,row):
for j in range(0,n):
m=int(col[j])-1
print arr[i][m],
print "\r\n"
def Decrypt(n, col, C):
C="".join(C.split())
row=len(C)/n
if len(C)%n>0:
row+=1
arr=[[""for x in range(0,n)] for y in range(0,row)]
x=0
for i in range(0,row):
for j in range(0,n):
if x<len(C):
arr[i][j]=C[x]
#print C[x],
x+=1
#print "\r\n"
M=""
for i in range(0,row):
for j in range(0,n):
m=int(col[j])-1
#print arr[i][m],
M+=arr[i][m]
#print "\r\n"
print M
print u"1.進行柵欄加密\r\n2.進行柵欄解密\r\n請選擇:".encode("gb2312"),
sel=raw_input()
if int(sel)==1:
print u"請輸入分組數目".encode("gb2312"),
n=int(raw_input())
print u"請輸入列排編號".encode("gb2312"),
col=raw_input()
print u"請輸明文".encode("gb2312"),
M=raw_input()
while len(M)<n*3:
print u"明文必須是分組數目的3倍".encode("gb2312")
M=raw_input()
Encrypt(n,col,M)
else :
print u"請輸入分組數目".encode("gb2312"),
n=int(raw_input())
print u"請輸入列排編號".encode("gb2312"),
col=raw_input()
print u"請輸密文".encode("gb2312"),
C=raw_input()
while len(C)<n*3:
print u"密文必須是分組數目的3倍".encode("gb2312")
C=raw_input()
Decrypt(n,col,C)
G. 求python中的愷撒密碼的加密,解密,以及破解的程序
凱撒密碼作為一種最為古老的對稱加密體制,在古羅馬的時候都已經很流行,他的基本思想是:通過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母A將被替換成D,B變成E,以此類推X將變成A,Y變成B,Z變成C。由此可見,位數就是凱撒密碼加密和解密的密鑰。
如下代碼是以偏移量為13展開計算的。123
源代碼如下:
sr1="abcdefghijklmnopqrstuvwxyz"sr2=sr1.upper()
sr=sr1+sr1+sr2+sr2
st="The Zen of Python"sResult=""for j in st: if j==" ":
sResult = sResult +" "
continue
i=sr.find(j) if(i>-1):
sResult=sResult+sr[i+13]print sResult12345678910111213
運行結果為:
Gur Mra bs Clguba