python 中将字符串加载为公钥

网址:

示例:

import base64
import rsa

def strkey(strk):
    b_str = base64.b64decode(strk)

    if len(b_str) < 162:
        return False

    hex_str = ‘‘

    # 按位转换成16进制
    for x in b_str:
        h = hex(ord(x))[2:]
        h = h.rjust(2, ‘0‘)
        hex_str += h

    # 找到模数和指数的开头结束位置
    m_start = 29 * 2
    e_start = 159 * 2
    m_len = 128 * 2
    e_len = 3 * 2

    modulus = hex_str[m_start:m_start + m_len]
    exponent = hex_str[e_start:e_start + e_len]

    return modulus, exponent

if __name__ == ‘__main__‘:
    pub_str = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPg0O4rPQJL1O+jqJ4rBjFVNRAuDmBSoii9pYfPQBaescCVY0irkWWoLyfTT65TjvnPpOx+IfNzBTlB13qCEFm7algREoeUHjFgFNHiXJ2LK/R0+VWgXe5+EDFfbrFCPnmLKG3OcKDGQszP0VOf6VVTM1t56CpgaRMm1/+Tzd2TQIDAQAB"
    modulus, exponent = strkey(pub_str)
    modulus = int(modulus, 16)
    exponent = int(exponent, 16)
    pub_key = rsa.PublicKey(modulus, exponent)
    print pub_key

示例

原文地址:https://www.cnblogs.com/kayb/p/8664973.html

时间: 2024-07-31 07:42:53

python 中将字符串加载为公钥的相关文章

python如何重新加载模块

Python如何重新加载模块?Python教程(http://www.maiziedu.com/course/python/)中重新加载模块的方法有哪些呢?在python开发中,我们为了防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,可以在开发时,我们会需要重新导入模块,那么怎么办呢,下面一起看看python重新加载模块的几种方法吧: Python2.7可以直接用reload(),Python3可以用下面几种方法: 方法一:基本方法 from imp import reloa

c#字符串加载wpf控件模板代码 - 简书

原文:c#字符串加载wpf控件模板代码 - 简书 ResourceManager resManagerA = new ResourceManager("cn.qssq666.Properties.Resources", typeof(cn.ijiami.keyboard.Properties.Resources).Assembly); string astring = resManagerA.GetString("axml_test"); LogUtil.write

Python模块动态加载机制

本文和大家分享的主要是python中模块动态加载机制相关内容,一起来看看吧,希望对大家学习python有所帮助. import 指令 来看看 import sys 所产生的指令: co_consts : (0, None) co_names : ('sys',) 0 LOAD_CONST               0 (0) 2 LOAD_CONST               1 (None) 4 IMPORT_NAME              0 (sys) 6 STORE_NAME  

Python学习-3.Python的模块加载

Python中使用import关键字进行模块加载. 先在Visual Studio中建立PythonModuleLoad项目作为演示. 1.同目录加载 建立SameFolder.py文件 写入代码: 1 def printSameFolder(): 2 print("this method is in the same folder") 修改启动文件,默认为PythonModuleLoad.py 1 import SameFolder 2 SameFolder.printSameFol

Python自动重新加载模块(autoreload module)

守护进程模式 使用python开发后台服务程序的时候,每次修改代码之后都需要重启服务才能生效比较麻烦.看了一下Python开源的Web框架(Django.Flask等)都有自己的自动加载模块功能(autoreload.py),都是通过subprocess模式创建子进程,主进程作为守护进程,子进程中一个线程负责检测文件是否发生变化,如果发生变化则退出,主进程检查子进程的退出码(exist code)如果与约定的退出码一致,则重新启动一个子进程继续工作. 自动重新加载模块代码如下: #!/usr/b

Android根据字符串加载Activity和图片

根据传入的字符串跳转Activity Intent intent = new Intent(context,Class.forName("com.packname.Activity")); startActivity(intent); 根据传入的字符加载资源 int icon = getResources().getIdentifier(“imageid”, "drawable", getPackageName()); getIdentifier的函数签名如下: p

Python学习-4.Python的模块加载(二)

1.部分函数加载 1 from SameFolder import printSameFolder 2 printSameFolder() 该代码指从SameFolder.py中加载printSameFolder这个函数,而不加载SameFolder.py的其他函数. 第二行即调用该函数. 2.加载为别名 1 import SameFolder as ShortCall 2 ShortCall.printSameFolder() 则ShortCall就指代SameFolder,这在import长

[转载]Python &amp; Selenium -- 页面加载时间过长&amp;启动指定FF

原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 1. selenium webdriver在get方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行. 例如:get 汽车之家页面时会等待很长时间,其实页面基本元素都已加载,可进行后续操作 可以通过set_page_load_time()方法来设定时间, 然后捕获timeout异常 并 通过执行Javascript来停止页面加载 window.

python/shell字符串加解密

查看网上很多都是抄袭的代码,大同小异,在前辈的基础上优化代码: 可自动补全16x字符串位数,解密后移除还原 优化加密后得到的数据码为base64,更易使用 3. 增加参数实例 4. 增强代码可读性 #!/usr/bin/env python #coding: utf-8 ''' +-----------------------------------------------------------------------+ |Author: Cheng Wenfeng <[email prote