资源简介
> `明文:`明文经过加密过程的变换所得的消息或字符串。
> `加密过程`:将明文变换成另一种不能被非授权者所理解的隐蔽信息。
> `密文`:明文经过加密过程的变化,所得的消息或字符串。
> `加密变换`:将明文变为密文的变换。
> `密钥`:加密变化所使用的参数。
> `加密过程`:将明文变换成另一种不能被非授权者所理解的隐蔽信息。
> `密文`:明文经过加密过程的变化,所得的消息或字符串。
> `加密变换`:将明文变为密文的变换。
> `密钥`:加密变化所使用的参数。
代码片段和文件信息
# i:/vscode/vscode_python/.vscode/数学建模
# -*- coding: utf-8 -*-
‘‘‘
@Time : 2019/11/20 19:51
@Author : nuoyanli
@Version : 1.0
@Contact : 2531649293@qq.com
@Site : 2.79KB
@File : 希尔密码.py
@Software: VSCode
‘‘‘
import numpy as np
def encode(string size):
# 只转换大写字母
if not string.isupper():
return None
# 分成 size 字的分段
blocks = [string[i:i+size] for i in range(0 len(string) size)]
temp = np.array([list(map(ord block)) for block in blocks]) - ord(‘A‘)
return temp
def analysis(crypter code):
return ((crypter @ code.T) % 26).T + ord(‘A‘)
if __name__ == ‘__main__‘:
# 要加密的信息
while True:
print(‘请输入待加密的信息:(请务必保证加密信息只包含大写字母)‘)
Clear_text = input()
print(‘待加密的信息为:\n‘+Clear_text)
print(‘请选择加密矩阵的大小n作为n*n的加密矩阵(请务必保证矩阵合法):‘)
n = int(input())
if len(Clear_text) % n != 0:
print(‘该密文和加密矩阵不合法!‘)
else:
break
print(‘请输入n行每行n个数,每行的数用空格隔开‘)
matrix = [[0] * (n)] * (n)
for i in range(n):
matrix[i] = list(map(int input().split(‘ ‘)))
# 加密矩阵
Encryption_matrix = matrix
print(‘加密矩阵为:‘)
for i in range(n):
for j in range(n):
print(Encryption_matrix[i][j] end=‘‘)
if j == (n
- 上一篇:python 获取文件夹下文件名称并写入到excel
- 下一篇:特征空间可视化.py
相关资源
- 特征空间可视化.py
- python 获取文件夹下文件名称并写入到
- python面向对象课件
- Python快速编程入门的课后习题答案(
- Python爬虫代码
- 搜集和整理的100道Python考试题.docx
- 手写体数字识别原始数据和贝叶斯代
- Python环境下利用matplotlib绘制发动机万
- 基于Python+Theano实现的Lenet5源代码(附
- Python 中文手册.chm
- python实现类似QQ群聊
- 淘宝秒杀python脚本
-
python 从xm
l文件中提取有用信息转 - REAPER的脚本程序汇总
- ABAQUS 二次开发Python教程
- python学习之路 精
- DBN Python预测交通流
- 43个Python代码打包
- 用A*算法解决TSP问题
- 大作业2 –路由协议Python
- 《Python3网络爬虫开发实战》中文PDF
- Python教学大纲.rar
- k-means python实现及数据.zip
- 模拟退火-遗传算法 34省会城市TSP问题
- python题库112732
- 基于Mnist数据集的贝叶斯分类器
- python 实现股票分时图K线图及抓取免费
- textrank自动文摘抽取python代码
- arcpy 工具包
- pyexcelerator
评论
共有 条评论