• 阅读杂记(RSA,PDO)


    RSA算法

    RSA Key Size Selection

    http://www.vocal.com/cryptography/rsa-key-size-selection/

    这篇文章说的是如何选择RSA密钥的长度。RSA密钥的长度是可以选择的,RSA密钥的长度影响加密后的长度,可以加密的串长度,加密和解密的时间。

    简单来说就是:

    1 密钥长度和可加密的字符串长度成正比。RSA的密钥越长,其对应公钥可以加密的字符串的字节数也会对应加长。其加密后的字符串的长度也越长。

    2 密钥长度和算法复杂度成正比。密钥越长,破解需要的时间也就越长,算法复杂度也就越高。

    3 密钥长度和加密解密的时间成正比。密钥越长,加密解密时间也就越长。

    所以如何选择一个安全又高效的RSA密钥长度是很重要的。在2000年,研究表示1024bit长度的密钥的破解需要花费使用一套10亿美金的设备破解10年的时间。基本上1024bit的长度就能保证RSA的安全了。(PHP的RSA默认就是生成和使用1024bit的密钥)

    1024bit长度的密钥能加密117byte的字节,最后生成的加密串有256byte长。

    PDO相关阅读

    PDO封装了数据库的操作。

    事务

    PDO有事务的概念,相关的方法是:

    PDO::beginTransaction

    PDO::commit

    PDO::rollBack

    分别是开始事务,提交事务,回滚事务

    PDO::inTransaction 判断是否在一个事务中

    PDO有预处理方法:

    PDO::prepare

    实际上就是SQL的模板,这个方法返回的是PDOStatement数据结构。

    prepare的参数表示可以使用:name 或者 ? 来表示,但是两种不能混用。

    PDO::prepare调用后对应的执行方法是PDO::execute

    PDOStatement

    PDOStatement有个queryString的属性,查出query的语句

    还有的其他方法有:

    将返回的某一列指定给php的某个变量。通常和fetch还有fetchAll联合使用

    bindParam和bindValue都是将query模板的对应参数做替换,但是bindParam值将模板中的对应参数替换成为变量并执行之后,如果有输出变量的话会将这个变量进行改变。bindValue就不会。

    关闭指针。PDO会有个指针来定位结果集。所以当有两个statement的时候,在两个statement中切换的时候要先使用closeCursor来切换

    调试使用

    这两个函数用来输出错误信息

    执行prepare中的语句,返回的结果使用fetch来获取

    获取一行数据

    获取多行数据

    获取某列值,获取单个

    • PDOStatement->fetchObject — Fetches the next row and returns it as an object.
    • 同fetch,只是fetch的style是PDO::FETCH_OBJ

    指针下移一位,和fetch一起使用可以获取全部rowset

    获取结果的行数和列数

    设置statement的属性

    设置statement的Mode,可以设置把最后的对象变为什么样子

    实时了解作者更多技术文章,技术心得,请关注微信公众号“轩脉刃的刀光剑影”

    本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    python基础之====函数对象、函数嵌套、名称空间与作用域、装饰器
    python基础之函数基础
    pytho基础之文件处理
    python基础之字符编码
    python基础之数据类型与变量
    python基础之核心风格
    函数
    数据类型、字符编码、文件处理
    MongoDB
    Shell学习(三)——Shell条件控制和循环语句
  • 原文地址:https://www.cnblogs.com/yjf512/p/2731302.html
Copyright © 2020-2023  润新知