博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php的openssl_private_encrypt的python实现
阅读量:7191 次
发布时间:2019-06-29

本文共 1095 字,大约阅读时间需要 3 分钟。

hot3.png

参考:

def openssl_private_encrypt(key, data, backend):    """Encrypt data with RSA private key.    This is a rewrite of the function from PHP, using cryptography    FFI bindings to the OpenSSL library. Private key encryption is    non-standard operation and Python packages either don't offer    it at all, or it's incompatible with the PHP version.    The backend argument MUST be the OpenSSL cryptography backend.    """    length = backend._lib.EVP_PKEY_size(key._evp_pkey)    buffer = backend._ffi.new('unsigned char[]', length)    result = backend._lib.RSA_private_encrypt(        len(data), data, buffer,        backend._lib.EVP_PKEY_get1_RSA(key._evp_pkey),        backend._lib.RSA_PKCS1_PADDING)    backend.openssl_assert(result == length)    return backend._ffi.buffer(buffer)[:]from cryptography.hazmat.backends.openssl.backend import backendfrom cryptography.hazmat.primitives.serialization import load_pem_private_keyprivkey = load_pem_private_key(self.pri_key_str, None,  backend)tmp = openssl_private_encrypt(privkey, md5Str, backend)

转载于:https://my.oschina.net/jjyuangu/blog/2054473

你可能感兴趣的文章
30个免费下载高质量精美照片素材的网站
查看>>
Memcached深度分析
查看>>
字符编码
查看>>
【实验7】综合练习
查看>>
[bzoj3531][Sdoi2014]旅行
查看>>
[洛谷P1801]黑匣子_NOI导刊2010提高(06)
查看>>
ABP源码分析十三:缓存Cache实现
查看>>
11显式实现接口
查看>>
python装饰器
查看>>
中考,我的最后90天
查看>>
日期转换
查看>>
手心输入法介绍
查看>>
C#的Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:...
查看>>
验证码的破解
查看>>
采药(动态规划背包问题总结)
查看>>
exec与xargs区别
查看>>
Linux 实现服务器之间时间同步
查看>>
python时间模块time详解
查看>>
jquery的outerHeight,outerWidth方法
查看>>
YII2表单中上传单个文件
查看>>