最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)仿射密碼的思路詳解

 更新時間:2020年04月23日 15:04:56   作者:SFS_Ccjm  
這篇文章主要介紹了Python實現(xiàn)仿射密碼的思路詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

仿射密碼思路:

1、加解密公式:

在這里插入圖片描述

2、構(gòu)造對應(yīng)字典:

在這里插入圖片描述

3、代碼實現(xiàn)

構(gòu)造字典,建立映射關(guān)系:

# 構(gòu)造字典,'A' --> 0 ...
def char_2_num(x):
  list_s = []
  list_num = []
  for i in range(26):
    c = chr(i + 65)
    list_s.append(c)
    list_num.append(i)
  c_2_n = dict(map(lambda x, y: [x, y], list_s, list_num))
  return c_2_n[f'{x}']


# 構(gòu)造字典,0 ---> 'A' ...
def num_2_char(x):
  list_s = []
  list_num = []
  for i in range(26):
    c = chr(i + 65)
    list_s.append(c)
    list_num.append(i)
  n_2_c = dict(map(lambda x, y: [x, y], list_num, list_s))
  print(n_2_c[x],end='')

實現(xiàn)加密:

# 編碼
def encode():
  s = input('輸入需要編碼的字符: ')
  print('編碼后的結(jié)果為: ',end='')
  for j in s:
    if j.isspace():
      print(' ',end='')
    else:
      ek = a * char_2_num(j) + b
      result = ek % 26
      num_2_char(result)

求模26下a的逆,實現(xiàn)解密:

# 求模26下a的逆
def inv_(x):
  for inv_a in range(1,26,2):
    for j in range(27):
      if x * inv_a == 26 * j + 1:
        return inv_a

# 解碼
def decode():
  s = input('輸入需要解碼的字符: ')
  print('解碼后的結(jié)果為: ',end='')
  for j in s:
    if j.isspace():
      print(' ',end='')
    else:
      dk = inv_(a) * (char_2_num(j) - b)
      result = dk % 26
      num_2_char(result)

函數(shù)入口:

# 輸入指令
answer = input(f'請輸入所需的操作:編碼/E or 解碼/D: ')

# 輸入?yún)?shù)a,b
a = int(input('請輸入a:'))
b = int(input('請輸入b: '))

try:
  if answer.upper() == 'E':
    encode()
  elif answer.upper() =='D':
    decode()
  else:
    print('輸入錯誤!')
except KeyError:
  print('請正確輸入大寫字母!')

加密效果:

請輸入所需的操作:編碼/E or 解碼/D:  E
請輸入a:5
請輸入b: 7
輸入需要編碼的字符: TODAY IS SO HOT
編碼后的結(jié)果為: YZWHX VT TZ QZY

解密效果:

請輸入所需的操作:編碼/E or 解碼/D:  D
請輸入a:5
請輸入b: 7
輸入需要解碼的字符: YZWHX VT TZ QZY
解碼后的結(jié)果為: TODAY IS SO HOT

到此這篇關(guān)于Python實現(xiàn)仿射密碼的思路詳解的文章就介紹到這了,更多相關(guān)python 仿射密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3爬蟲中多線程的優(yōu)勢總結(jié)

    python3爬蟲中多線程的優(yōu)勢總結(jié)

    在本篇文章里小編給大家分享了一篇關(guān)于python3爬蟲中多線程的優(yōu)勢總結(jié)內(nèi)容,需要的朋友們可以參考學(xué)習(xí)下。
    2020-11-11
  • Python中reshape的使用詳解

    Python中reshape的使用詳解

    這篇文章主要介紹了Python中reshape的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • python版簡單工廠模式

    python版簡單工廠模式

    這篇文章主要為大家詳細介紹了python版簡單工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 基于 Django 的手機管理系統(tǒng)實現(xiàn)過程詳解

    基于 Django 的手機管理系統(tǒng)實現(xiàn)過程詳解

    這篇文章主要介紹了基于 Django 的手機管理系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • python 監(jiān)控某個進程內(nèi)存的情況問題

    python 監(jiān)控某個進程內(nèi)存的情況問題

    這篇文章主要介紹了python 監(jiān)控某個進程內(nèi)存的情況問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 在PyTorch中實現(xiàn)高效的多進程并行處理

    在PyTorch中實現(xiàn)高效的多進程并行處理

    PyTorch是一個流行的深度學(xué)習(xí)框架,一般情況下使用單個GPU進行計算時是十分方便的,但是當涉及到處理大規(guī)模數(shù)據(jù)和并行處理時,需要利用多個GPU,所以這篇文章我們將介紹如何利用torch.multiprocessing模塊,在PyTorch中實現(xiàn)高效的多進程處理,需要的朋友可以參考下
    2024-07-07
  • 最新評論

    梁平县| 张家口市| 阿巴嘎旗| 陵川县| 西安市| 怀仁县| 靖宇县| 定南县| 察雅县| 上高县| 平谷区| 博爱县| 祁门县| 赤城县| 蓬溪县| 深州市| 莱州市| 木里| 秀山| 桐梓县| 四子王旗| 炎陵县| 黑河市| 东兰县| 南安市| 宁陵县| 固镇县| 岫岩| 巴林左旗| 咸丰县| 察隅县| 韩城市| 沙坪坝区| 百色市| 旬阳县| 巴南区| 东乡县| 辽阳市| 富蕴县| 靖远县| 沂源县|