精华内容
下载资源
问答
  • python的rsa库的使用

    千次阅读 2019-10-05 00:02:22
    2、rsa库的使用 注意这里不是使用的pycryto,仅仅使用了rsa,安装也很简单pip install rsa。 2.1 生成pubkey和privkey import rsa (pubkey, privkey) = rsa.newkeys(512) # 512这个数字表示可以加密的字符串长度,...

    1、rsa算法

    详细解释我们这里不做详细解释,自行搜索,理解起来也不难。

    2、rsa库的使用

    注意这里不是使用的pycryto,仅仅使用了rsa,安装也很简单pip install rsa
    2.1 生成pubkey和privkey

    import rsa
    (pubkey, privkey) = rsa.newkeys(512)  # 512这个数字表示可以加密的字符串长度,可以是1024,4096等等,
    (pubkey, privkey) = rsa.newkeys(512, poolsize=8)  # 使用多进程加速生成
    

    不过数字越大生成的速度越慢,下面给出一个简单的对比
    在这里插入图片描述
    2.2 从文件中读取公钥或者私钥

    with open('private.pem', mode='rb') as privatefile:
    	keydata = privatefile.read()
    privkey = rsa.PrivateKey.load_pkcs1(keydata)
    

    2.3 加密数据
    加密数据使用pubkey,解密数据使用privkey

    message = 'hello Bob!'.encode('utf8')
    
    # 加密数据
    crypto = rsa.encrypt(message, pubkey)
    
    # 解密数据
    message = rsa.decrypt(crypto, privkey)
    

    我们在2.1中生成的公钥和私钥可以用来加密的数据长度只有512bits,只有64个字节,其实还不到64个字节,还有11个字节被用作别用(具体的话会在下面给出链接,可以自行查看原文)。

    那么问题来了,怎么加密大数据文件呢,来看下面的方法。

    import rsa
    from rsa.bigfile import *
    (pub_key, priv_key) = rsa.newkeys(512)
    
    # 加密数据
    with open('inputfile', 'rb') as infile, open('outputfile', 'wb') as outfile:
    	encrypt_bigfile(infile, outfile, pub_key)
    
    # 解密数组
    with open('inputfile', 'rb') as infile, open('outputfile', 'wb') as outfile:
    	decrypt_bigfile(infile, outfile, priv_key)
    

    2.4 数字签名
    签名使用privkey,验证使用pubkey。刚好和加密相反。
    对字符串的签名和验证

    (pubkey, privkey) = rsa.newkeys(512)
    message = 'Go left at the blue tree'
    # 签名
    signature = rsa.sign(message, privkey, 'SHA-1')
    # 验证
    rsa.verify(message, signature, pubkey)
    

    对文件的签名和验证

    # 签名
    with open('somefile', 'rb') as msgfile:
    	signature = rsa.sign(msgfile, privkey, 'SHA-1')
    
    # 验证
    with open('somefile', 'rb') as msgfile:
    	rsa.verify(msgfile, signature, pubkey)
    

    3、总结

    我们常说,非对称加密使用pubkey加密数据,privkey解密数据。
    服务器公开pubkey,让我们来向服务器发送数据,那么如果服务器向我们发送数据怎么办呢?这个问题还没搞明白,有路过的大神还望不吝赐教。

    展开全文
  • Flutter图表库的使用

    万次阅读 2018-07-13 16:16:06
    Flutter图表库的使用 可以看前面的基础哦! 一,Flutter三天学习基础——-一天搞定项目 二,Flutter三天学会之后模仿美团界面 一,如下图: 版本:charts_flutter: “^0.3.0” 库里面封装了各种图标控件...

    Flutter图表库的使用
    可以看前面的基础哦!
    一,Flutter三天学习基础——-一天搞定项目
    二,Flutter三天学会之后模仿美团界面

    一,如下图:

    这里写图片描述

    这里写图片描述

    这里写图片描述

    版本:charts_flutter: “^0.3.0”
    库里面封装了各种图标控件,虽然官方提供了案例,可能很多人对于Dart语言工厂的理解不深导致看了案例也不能够很好的使用。我这里进行了数据和View层的隔离,看起来代码简洁清晰明了。
    界面lib->flutter_system->SystemPage.dart里面数据,有什么不懂的可以留言哦。
    地址:https://github.com/luhenchang/flutter_study

    展开全文
  • Python xlrd库的使用示例

    万次阅读 2018-05-12 21:47:38
    环境:PyCharm2018.1 + ...本次主要介绍xlrd库的一些简单使用示例,将在下一篇博客中介绍xlwt库的使用。1 xlrd库的安装xlrd的安装有3种方法:1)直接通过控制台安装:pip install xlrd2)通过IDE安装:以PyChar...

    环境:PyCharm2018.1 + python3.6 + xlrd1.1.0

    xlrd是python语言中用于读取excel表格内容的库,还有一个xlwt库用于将内容写入excel。

    本次主要介绍xlrd库的一些简单使用示例,将在下一篇博客中介绍xlwt库的使用。

    1 xlrd库的安装

    xlrd的安装有3种方法:

    1)直接通过控制台安装:pip install xlrd

    2)通过IDE安装:以PyCharm为例

    选择路径File--Settings--Project Interpreter,点加号,从Available Packages中搜索xlrd,然后点击Install Package即可

    即可。


    • 这里有个小建议,在使用PyCharm安装包时,使用默认的下载源下载较慢,可以将Manage Repositories中的下载源改为国内的下载源,下载速度会提高很多,如作者使用的是科大的镜像。

    3)从网站上将包下载之后再使用控制台安装,下载地址为:https://pypi.org/project/xlrd/

        然后再使用pip install的方法安装

    2 xlrd库的使用示例

    使用的表格内容截图如下:


    以代码的形式直接展示,代码行上面的注释为此行代码的功能,代码行下面的注释为输出结果

    #-*-coding:utf-8-*-
    """
    @author:taoshouzheng
    @time:2018/5/12 19:36
    @email:tsz1216@sina.com
    """
    
    import xlrd
    
    """读取并打印表格中的数据"""
    
    
    # 定义读取并打印表格中数据的函数
    def read_excel():
    
        # 打开excel文件读取数据
        data = xlrd.open_workbook("1.xlsx")
    
        # 获取book中所有工作表的名称
        print("获取book中所有工作表的名称:")
        print(data.sheet_names())
        # ['Sheet1']
    
        # 根据工作表的名称获取工作表的内容
        table = data.sheet_by_name('Sheet1')
    
        # 根据工作表的索引获取工作表的内容
        # table = data.sheet_by_name(0)
    
        # 打印工作表的名称、行数和列数
        print("打印工作表的名称、行数和列数:")
        print(table.name, table.nrows, table.ncols)
        # Sheet1 17 4
    
        # 获取第4行的内容,以列表形式表示
        row_4 = table.row_values(3)
        print("获取第4行的内容,以列表形式表示:")
        print(row_4)
        # [5.0, 6.0, 7.0, 8.0]
    
        # 获取第3列的内容,以列表形式表示
        col_3 = table.col_values(2)
        print("获取第3列的内容,以列表形式表示:")
        print(col_3)
        # [3.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, '', '']
        # 注意输出结果中的空值!
    
        # 获取工作表中单元格的3种方法
        print("获取工作表中单元格的3种方法:")
        print(table.cell(1, 0).value)
        # 5.0
        print(table.cell_value(1, 0))
        # 5.0
        print(table.row(1)[0].value)
        # 5.0
    
        # 获取单元格内容的数据类型
        print("获取单元格内容的数据类型:")
        print(type(table.cell_value(1, 2)))
        # <class 'float'>
    
        # 读取列表中第1列的数据,返回列表
        cols = table.col(0)
        # 遍历列表,打印结果
        for col in cols:
            print(col.value)
        # 1.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
        # 5.0
    
    
    read_excel()
    
    

    展开全文
  • json-c 库的使用方法

    千次阅读 2019-07-26 17:32:44
    json-c 库的使用方法 文章目录json-c 库的使用方法引入json-c的库json-c的读写操作读json-c添加key值对删除key只对修改key值对怎么添加数组jason-c怎么读回数组中的元素? 引入json-c的库 使用对应的工具量编译json...

    json-c 库的使用方法

    引入json-c的库

    • 使用对应的工具量编译json-c库,编译为动态链接和静态链接都可以,根据需求来决定。
    • 在应用程序中引入json-c的库,下面就可以调用json-c的函数对数据进行操作。

    json-c的读写操作

    读json-c

    json_object *pobj = NULL
    pobj = json_object_from_file("./bob.json");
    //读文件里的数据
    pval = json_object_object_get(jobj, sname);
    type = json_object_get_type(pval);
    //在根据不同类型来读取
    switch(type)
    {
    case json_type_string:
    printf(“Key:%s value: %s\n”, sname, json_object_get_string(pval));
    break;
    case json_type_int:
    printf(“Key:%s value: %d\n”, sname, json_object_get_int(pval));
    break;
    //释放json对象
    json_object_put(pobj);

    添加key值对

    json_object *pobj = NULL;
    pobj = json_object_from_file("/home/boy/tmp/test/jsontest/test.json"); //把文件转为json对象
    json_object_object_add(pobj, “foo”, json_object_new_string(“fark”)); //json对象添加
    json_object_to_file("/home/boy/tmp/test/jsontest/new.json", pobj); //把json对象写回文件
    json_object_put(pobj); //释放jison对象

    删除key只对

    json_object *pobj = NULL;
    pobj = json_object_from_file("/home/boy/tmp/test/jsontest/test.json"); //把文件转为json对象
    json_object_object_del(pobj, “foo”); //json对象删除
    json_object_to_file("/home/boy/tmp/test/jsontest/new.json", pobj); //把json对象写回文件
    json_object_put(pobj); //释放jison对象

    修改key值对

    json_object *pobj = NULL;
    pobj = json_object_from_file("/home/boy/tmp/test/jsontest/test.json"); //把文件转为json对象
    json_object_object_del(pobj, “foo”); //json对象删除
    json_object_object_add(pobj, “foo”, json_object_new_string(“fark”)); //json对象添加
    json_object_to_file("/home/boy/tmp/test/jsontest/new.json", pobj); //把json对象写回文件
    json_object_put(pobj); //释放jison对象

    怎么添加数组

    json_object *my_array = json_object_new_array();
    json_object_array_add(my_array, json_object_new_int(1));
    json_object_array_add(my_array, json_object_new_int(2));
    json_object_array_add(my_array, json_object_new_int(3));
    json_object_array_put_idx(my_array, 4, json_object_new_int(5));
    for(i=0; i < json_object_array_length(my_array); i++) {
    struct json_object *obj = json_object_array_get_idx(my_array, i);
    printf("\t[%d]=%s\n", i, json_object_to_json_string(obj));
    }

    printf(“my_array.to_string()=%s\n”, json_object_to_json_string(my_array));
    my_object = json_object_new_object();
    /添加json名称和值到json对象集合中/
    json_object_object_add(my_object, “abc”, json_object_new_int(12));
    json_object_object_add(my_object, “foo”, json_object_new_string(“bar”));
    json_object_object_add(my_object, “bool0”, json_object_new_boolean(0));
    json_object_object_add(my_object, “bool1”, json_object_new_boolean(1));
    json_object_object_add(my_object, “baz”, json_object_new_string(“bang”));
    /同样的key 添加会替换掉/
    json_object_object_add(my_object, “baz”, json_object_new_string(“fark”));
    json_object_object_del(my_object, “baz”);
    /添加数组集合到json对象中/
    json_object_object_add(my_object, “arr”, my_array);
    printf(“my_object=\n”);
    /遍历json对象集合/
    json_object_object_foreach(my_object, key, val) {
    printf("\t%s: %s\n", key, json_object_to_json_string(val));
    }

    jason-c怎么读回数组中的元素?

    json_object *pobj = NULL;
    pobj = json_object_from_file("./bob.json");
    key_obj = json_object_object_get(jobj, “key”);
    for(i=0; i < json_object_array_length(key_obj); i++) {
    struct json_object *obj = json_object_array_get_idx(key_obj, i);
    printf("\t[%d]=%d\n", i, json_object_get_int(obj));
    }
    json_object_put(key_obj);
    json_object_put(pobj); //释放jison对象

    展开全文
  • 静态库的使用方法

    千次阅读 2016-03-25 16:50:18
    静态库的使用简单介绍
  • VS2015静态库与动态库的使用

    千次阅读 2017-09-30 14:50:46
    VS2015静态库与动态库的使用静态库 静态库创建(略),往往我们使用第三方的比较常见,如果要自己团队间创建使用也很简单; 头文件的加载: 方式一: (1)将静态库给出的头文件拷贝到项目目录下(*.vcxproj所在的...
  • MicroPython中库的使用

    千次阅读 2019-02-16 12:20:16
    库的使用 开发平台:deepin15.9 导入程序到开发环境 添加临时环境变量 export PATH=$(pwd)/micropython:$PATH 永久添加环境变量(影响当前用户) vim ~/.bashrc export PATH=PATH=$(pwd)/micropython:$PATH...
  • 深入理解Python xlwings库的使用

    千次阅读 2019-08-24 00:04:22
    深入理解Python xlwings库的使用个人感受xlwings的使用xlwings基本思路 个人感受xlwings的使用 xlwings是目前看来操作excel最快速、做的比较完善的一个库,优化很好,调用方式非常灵活,方便,使用简单,功能还算...
  • Git--Remote远程仓库的使用

    万次阅读 2016-11-24 01:28:31
    1 远程仓库的作用使用Git的远程...2 远程仓库的使用介绍假设我们已经有了一个远程仓库,地址是:https://github.com/CnPeng/test.git1) 克隆远程版本仓库到本地:git clone https://github.com/CnPeng/test.git 将...
  • Python第三方库的使用

    万次阅读 2018-05-17 18:07:40
    一、Requests库的使用 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 (1)安装、在cmd下执行:pip install requests (2)TP协议对资源的操作 GET 获取URL位置的资源 HEAD 获取URL位置资源...
  • turtle库的使用

    千次阅读 多人点赞 2018-04-03 21:14:02
    turtle库的简明使用教程
  • Linux cJSON库的使用、编译为cJSON动态库 一、简述  记--再linux平台下编译cJSON并简单的使用。  cJSONFiles.zip:链接: https://pan.baidu.com/s/16JkSONzRy2ZzAvjUXcoD5Q 提取码: 2cvh  cJSON-master.zip:...
  • modbus_tk库的使用和分析

    万次阅读 2018-08-22 16:22:51
    modbus_tk库的使用和分析 如何使用modbus_tk的主机和从机? 主从Demo代码分析 modbus_tk库函数主代码分析 modbus_tk库的使用和分析 modbus版本:0.5.7 下载地址:https://github.com/ljean/modbus-tk 1:...
  • python 学习笔记(三)---turtle库的使用(超详细)

    万次阅读 多人点赞 2019-02-07 11:42:18
    python 学习笔记(三)—turtle库的使用 文章目录python 学习笔记(三)---turtle库的使用1.turtle库的简介2.turtle绘图窗体布局3.turtle的空间坐标体系--(绝对坐标和海龟坐标)4.turtle的角度坐标体系5.RGB色彩...
  • Python入门:jieba库的使用

    万次阅读 多人点赞 2018-05-17 21:20:12
    jieba 是一款优秀 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式特点。 精确模式:试图将语句最精确切分,不存在冗余数据,适合做文本分析 全模式:...
  • Arduino官方提供了丰富的驱动库来方便对外设进行操作,很多爱好者也在开源精神下提供了很多第三方库。本篇介绍数码管库的使用,通过读取电位器输入,使用数码管库驱动数码管显示对应数据。
  • LAStools库的使用

    千次阅读 2018-08-03 20:04:42
    因为要处理las格式点云数据,所以接触到了这个。一开始还傻傻分不清libLAS和LASlib...在此分享lastools一些使用小技巧 在bin目录下有一些行命令软件 las2las------可以进行点云拼接 las2txt------可以...
  • LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library 解决方法: 编译选项设置如下: 1、【项目】->【属性】->【配置属性】->【C/C++】->【代码生成】->...
  • Python3之urllib库的使用总结

    万次阅读 多人点赞 2017-08-16 22:45:07
    在Python2.x中,分为Urllib和Urllin2,Python3.x之后都合并到Urllib中,使用方法稍有不同。本文介绍是Python3中urllib。什么是UrllibUrllib是Python提供一个用于操作URL模块,我们爬取网页时候...
  • Linux下静态库与动态库的使用

    千次阅读 2012-02-18 02:11:49
    Linux下静态库与动态库的使用 Linux下有静态链接库和动态链接库两种,静态链接库的后缀名是.a,动态链接库的后缀名是.so,下面详细介绍: 静态链接库: 静态链接库是指程序在编译链接的过程中就把...
  • STM32F4xx FPU和DSP库的使用

    万次阅读 多人点赞 2017-06-19 08:56:33
    详细介绍了STM32F407 FPU和DSP库的使用
  • curl库的使用

    千次阅读 2018-08-07 19:23:03
    一、curl 在window平台下安装和使用 1、curl 下载,https://curl.haxx.se/download.html ,下载完成后解压。 2、用vs本地化工具编译。 进入解压后目录下 C:\Users\username\Desktop\...
  • 本篇介绍步进电机驱动库的使用,通过读取电位器输入,控制步进电机转动相应角度。
  • you-get 库的使用方法

    万次阅读 多人点赞 2020-04-17 10:14:30
    在python版本3下,使用清华源下载(推荐) pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get 安装就可以使用了,这里推荐一些源站(下载速度很快): #豆瓣 pip install -i ...
  • 一、目的: 1、导入资源到UE4工程里面很多,下面介绍一个 一、参考 1、Unreal初级案例-动作游戏入门中-保管库的使用 http://www.sikiedu.com/course/514/tasks ①总结:good:亲测有效 ...
  • 链接时警告: LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 610,798
精华内容 244,319
关键字:

库的使用