日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

W型加密栅栏密码解密

發(fā)布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 W型加密栅栏密码解密 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述:被小魚一連將了兩軍,你心里更加不服氣了。兩個人一起繼續(xù)往前走, 一路上雜耍賣藝的很多,但是你倆毫無興趣,直直的就沖著下一個謎題的地方去了。 到了一看,這個謎面看起來就已經(jīng)有點(diǎn)像答案了樣子了,旁邊還畫著一張畫,是一副農(nóng)家小院的 圖畫,上面畫著一個農(nóng)婦在柵欄里面喂5只小雞,你嘿嘿一笑對著小魚說這次可是我先找到答案了
ccehgyaefnpeoobe{lcirg}epriec_ora_g

# -*- coding: utf-8 -*-''' helloworldgoodmorningxxxx 5 h l r xe r d o n xl o g m i xl w o d n xo o g hlrnerdonilogmiqlwodnxoog7 5 1 3 3 1 5 7helloworldgoodmorningxxxx 4 h o o i xe w r o d n n xl o l g m r g xl d o x hooixewrodnnxlolgmrgxldox5 3 1 1 3 5 '''def enc(plain, num):matrix = [([0] * len(plain)) for i in range(num)]# 獲取i的取值序列i_s = []for a in range(num):i_s.append(a)for a in range(num - 2, 0, -1):i_s.append(a)i_s_len = len(i_s)# 按規(guī)則寫入i = 0for c in plain:matrix[i_s[i % i_s_len]][i] = ci += 1# 排除空值,從頭到尾取出encrypted = ''for i in range(num):for j in range(len(plain)):if matrix[i][j]:encrypted += matrix[i][j]# 臨時輸出 # for i in range(num): # for j in range(len(plain)): # print (matrix[i][j], ' ') # print()return encrypteddef dec(encrypted, num):matrix = [([0] * len(encrypted)) for i in range(num)]cur = 0for i in range(num): # 按行來填# 生成每行空格個數(shù)的取值序列if i == 0: # 第1行和最后一行,只需要一個取值就好了pair = [(num-(i+1))*2-1]elif i == num-1:pair = [i*2-1]else:pair = [(num-(i+1))*2-1, i*2-1]# 按規(guī)則填入pair_i = 0j = iwhile True:if cur < len(encrypted):matrix[i][j] = encrypted[cur]cur += 1j += pair[pair_i % len(pair)]+1 # 這里要加1,直接加間隔是不夠的pair_i += 1if j >= len(encrypted):break# 臨時輸出 # for i in range(num): # for j in range(len(encrypted)): # print (matrix[i][j], ' ') # print()# 獲取i的取值序列i_s = []for a in range(num):i_s.append(a)for a in range(num - 2, 0, -1):i_s.append(a)i_s_len = len(i_s)# 按規(guī)則取出decrypted = ''for j in range(len(encrypted)):decrypted += matrix[i_s[j % i_s_len]][j]return decryptedencrypted = 'ccehgyaefnpeoobe{lcirg}epriec_ora_g' num = 5 for i in range(2,len(encrypted)):print('分為'+str(i)+'欄時,解密結(jié)果為:'+dec(encrypted, i) ) ''' hooixewrodnnxlolgmrgxldox helloworldgoodmorningxxxx cyberpeace{railfence_cipher_gogogo} '''

總結(jié)

以上是生活随笔為你收集整理的W型加密栅栏密码解密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。