当前位置: 首页 > news >正文

第三代加密法-维吉尼亚加密法代码实现

1.密码学课代码实现

英文加密

def my_encode_2_english(plaintext,key):encode_string = ''move_numbers = [ord(e)-97 for e in key]print(move_numbers)t = -1for chr_ in plaintext:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii + move_numberif move > 122:move = 97+(move-123)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      encode_string += chr(move)return encode_stringdef my_decode_2_english(clipher,key):decode_string = ''move_numbers = [ord(e)-97 for e in key]t = -1for chr_ in clipher:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii - move_numberif move < 97:move = 123 -(97 - (string_to_asscii-move_number) )decode_string += chr(move)return decode_stringkey = 'yes'
string = """hello""" 
encoding2 = my_encode_2_english(string,key) 
decoding2 = my_decode_2_english(encoding2,key)
encoding2,decoding2
中文加密
def my_encode_2(plaintext,key):encode_string = ''move_numbers = [ord(e)-96 for e in key]t = -1for chr_ in plaintext:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii + move_numberencode_string += chr(move)return encode_stringdef my_decode_2(clipher,key):decode_string = ''move_numbers = [ord(e)-96 for e in key]t = -1for chr_ in clipher:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]# print(move_number)move = string_to_asscii - move_numberdecode_string += chr(move)return decode_stringkey = 'yes'        
string = """english"""       
encoding2 = my_encode_2(string,key) 
decoding2 = my_decode_2(encoding2,key)
encoding2,decoding2           

http://www.mrgr.cn/news/55828.html

相关文章:

  • Ajax:跨域、防抖和节流、HTTP协议
  • 《Redis实战》note-8 构建简单的社交网站
  • C语言【调试】(个人笔记版)
  • SQL 自学:事务处理的COMMIT 和 ROLLBACK 语句的运用
  • 新一代Linux防火墙已经来临(iptables面临淘汰)
  • 大数据学习-Clickhouse
  • IEC104规约的秘密之十五----文件传输慢的原因
  • Task Registration Process
  • this指针—静态成员—单例模式
  • Java 基础教学:基础语法-数据类型
  • 九、基于构件的软件工程
  • Leetcode—175. 组合两个表【简单】
  • ECharts饼图-饼图自定义样式,附视频讲解与代码下载
  • LINUX1.1
  • 道可云人工智能元宇宙每日资讯|《嘉兴市推动人工智能高质量发展实施方案》发布
  • 引领未来数据库技术:探索高效可靠的PXC集群解决方案
  • mysql的各种存储引擎
  • 2025北京自动驾驶技术展览会
  • 华为OD机试 - 计算最多能观看几场演出(Python/JS/C/C++ 2024 E卷 200分)
  • 【JS】JavaScript中的undefined和null的区别
  • Vue3 + TS 百叶窗效果组件封装
  • 【小白学机器学习19】什么是统计里的定量分析
  • yolo自动化项目实例解析(八)自建UI-键鼠录制回放
  • uniapp路由权限拦截守卫
  • C# 字符串处理与正则表达式
  • Python | Leetcode Python题解之第500题键盘行