python加密解密 sha256_如何在python上使用RSA私钥和SHA256解密
我正在为学校学习如何使用公钥和私钥加密和解密文件。在
我用这个代码来编码信息。(生成公钥≠非私钥错误)from Crypto.Signature import pkcs1_15
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
def signing():
#open file = message als binary
message = open('C:/Users/Gebruiker/Desktop/message.txt', "rb").read()
#open public key -> key
key = RSA.import_key(open('C:/Users/Gebruiker/Desktop/public.pem').read())
#message becomes a hash
h = SHA256.new(message)
#f = open file as write binary
f = open('C:/Users/Gebruiker/Desktop/message.signature', 'wb')
# sign hash message with private key
signature = pkcs1_15.new(key).sign(h)
#write signed hash to file
f.write(signature)
f.close()
但现在我正试图解码这条信息,我发现所有这些人都以不同的方式进行解码,并使用不同类型的编码和加密。我找不到一个明确的答案。在
我现在有的是这个
首先,我得把这封信读出来
^{pr2}$
然后我打开我的私钥key = RSA.import_key(open('C:/Users/Gebruiker/Desktop/private.pem').read())
因为我是用二进制来写和读的,所以我必须把它转换成散列h = SHA256.new(f)
然后我必须用我的私钥解密散列。???在
相反,我看到很多人用这种东西。在h = pkcs1_15.new(key).sign(h) # sign hash message with private key
我不明白。你应该把它解码对吗?别再签了。对我来说这是不合理的。在
现在我有两个问题。在我收到一个编码错误,说我的公钥不是私钥。这有点像是公开密钥的权利。所以只有私钥才能解密?为什么我会出错?在
我不知道如何继续解密我的信息
有人能帮我吗?在
非常感谢!在
python加密解密 sha256_如何在python上使用RSA私钥和SHA256解密相关推荐
- python加密执行_如何在Python中执行PGP(生成密钥,加密/解密)
PyCrypto支持PGP-尽管您应该测试它以确保它符合您的规范. 尽管文档很难获得,但是如果您查看Util/test.py(模块测试脚本),您可以找到它们的PGP支持的基本示例:if verbose ...
- python联想_联想电脑python安装教程_如何在windows上安装python
如何在windows上安装python 方法如下: 首根据Windows版本(64位32位)从Python的官方网站下载Python 3.5的64装程序或32位安装程序. 然后,运行下载的EXE安装包 ...
- 编程中python怎么读-编程语言如何在Python中读写文件
从文件读取和写入文件是任何编程语言的常见需求.任何文件在读写之前都需要打开.大多数编程语言都使用open()方法来打开文件,以便使用文件对象(file object)读写.可以使用不同类型的文件访问模 ...
- python加密反编译_对Python源码进行加密及反编译前后对比
关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...
- python 线性回归模型_如何在Python中建立和训练线性和逻辑回归ML模型
python 线性回归模型 Linear regression and logistic regression are two of the most popular machine learning ...
- python 概率分布函数_如何在Python中实现这五类强大的概率分布
匿名用户 1级 2016-04-25 回答 首页 所有文章 观点与动态 基础知识 系列教程 实践项目 工具与框架应用 工具资源 伯乐在线 > Python - 伯乐在线 > 所有文章 &g ...
- python mqtt库_如何在 Python 中使用 MQTT
Python 是一种广泛使用的解释型.高级编程.通用型编程语言.Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词).Python 让开发者能 ...
- python自增_如何在python语言实现自增和自减功能并显示结果
在python语言中,跟Java和JavaScript语言不一样,python中没有自增和自减功能,而Java和JavaScript中有.但是,python语言可以使用变量加1或减1替换.下面利用几个 ...
- python进程暂停_如何在Python中暂停多进程?
我希望用户能够在怎么开始的实现它?在 我的代码是:# -*- coding: utf-8 -*- from PySide import QtCore, QtGui from Ui_MainWindow ...
最新文章
- oracle or条件后 排序,WHERE条件和排序
- 总结ISO各层协议都有哪些
- Redis学习资料整理
- 双控专业就业机器人_工业机器人专业好就业吗?有哪些机器人技术岗位?
- Sqlserver循环嵌套
- 小程序入门系列之 tabBar
- 找到字符串中所有字母异位词—leetcode438
- kafka生产者开发方式
- 构建直接路由模式(DR)的LVS
- 如何选择系统服务器,如何选择服务器的操作系统
- iostat 输出CPU、磁盘IO的使用情况统计信息
- ADB 学习(4):adb shell (上)
- 资源(电影、英剧、美剧、日剧、动漫、纪录片)网站
- requirement生成和使用
- Adobe官方公布的RTMP协议规范
- 内存不能为read大全
- (3)DispatcherServlet与初始化主线
- idea使用常用基础设置
- 《物理学之美》读书摘记
- oracle 云计算业务,拉里.埃里森:Oracle云计算服务进入超速增长阶段