阅读杂记(RSA,PDO)

本文探讨了RSA密钥长度的选择及其对加密效率和安全性的影响,并详细介绍了PHP中PDO的使用方法,包括事务处理及预处理语句等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,可以设置把最后的对象变为什么样子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值