AES-CBC加密 以及PHP C#实现

折腾了好多天, 感谢乔楚大侠的帮忙, 终于搞定了 AES - CBC 加密, 特地将加密部分的东西整理一下, 希望能给后人带来一些帮助

    【加密规范】:

            加密标准:AES    

            加密算法:CBC

            BlockSize:256bit(32byte)

            keysize   :   256 (32byte)

            padding  :   pkcs7


             AES-CBC是一种分段解密的方式,即先把明文分段, 然后再加密, 参数Blocksize 定义每段的大小, 支持 128bit  256 bit , 在分好段之后,最后的一段不一定满一个blocksize, 所以需要先对明文进行补码在加密,pkcs7 的补码方式, 后边会提到。  密钥的长度支持 128 192 和 256.

     【pkcs7】

            pkcs7 的算法其实比较简单, 完全可以自己封装一个函数:

                第一步: 拿到明文的长度 len 和 blocksize (字节) 

                第二部: 算出最后一段需要补码的长度  paddingLen =  len -  text % blocsize

                第三部:  取得 ASCII 码 为补码长度 paddingLen的字符, 用该字符把最后一段填满就OK了, 详情请参见我的PHP代码

     【PHP加密】

             PHP要使用加密的函数, 必须安装 mcrypt 的扩展。

  http://www.phpv5.com/blog/archives/507/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值