真正兼容.net的php 3DES加解密

2009年06月15日 4:16 下午  |  分类:Develop

php中3des加密的结果与.Net/java不同的帖子与话题实在是太多了,

我前不久也在倒腾这些,不过今天已经搞定了,完全与.net中的兼容

<?php
class Crypt3Des
{
private $key = "";
private $iv = "";
/**
* 构造,传递二个已经进行base64_encode的KEY与IV
*
* @param string $key
* @param string $iv
*/
function __construct ($key, $iv)
{
if (empty($key) || empty($iv)) {
echo 'key and iv is not valid';
exit();
}
$this->key = $key;
$this->iv = $iv;
}
/**
*加密
* @param <type> $value
* @return <type>
*/
public function encrypt ($value)
{
$td = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, '');
$iv = base64_decode($this->iv);
$value = $this->PaddingPKCS7($value);
$key = base64_decode($this->key);
mcrypt_generic_init($td, $key, $iv);
$ret = base64_encode(mcrypt_generic($td, $value));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $ret;
}
/**
*解密
* @param <type> $value
* @return <type>
*/
public function decrypt ($value)
{
$td = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, '');
$iv = base64_decode($this->iv);
$key = base64_decode($this->key);
mcrypt_generic_init($td, $key, $iv);
$ret = trim(mdecrypt_generic($td, base64_decode($value)));
$ret = $this->UnPaddingPKCS7($ret);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $ret;
}
private function PaddingPKCS7 ($data)
{
$block_size = mcrypt_get_block_size('tripledes', 'cbc');
$padding_char = $block_size - (strlen($data) % $block_size);
$data .= str_repeat(chr($padding_char), $padding_char);
return $data;
}
private function UnPaddingPKCS7 ($text)
{
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) {
return false;
}
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) {
return false;
}
return substr($text, 0, - 1 * $pad);
}
}
?>
直接拿去用吧。

魂斗罗的最NB玩法

2009年06月1日 9:03 上午  |  分类:笔记本子

啥也不说了,直接看

遭遇山寨版9500GT显卡

2009年05月21日 7:42 下午  |  分类:笔记本子

话说上周六去太平洋三期装了部电脑, 在家里就把配置单写好了,就显卡这一块没有定下来,主要是对它太不了解。

跑了几个装机店最终在A家定下来,就在说配置单时,我告诉店主,显卡我拿不定主意(其实我知道这个时候店主已经在打我的算盘了)。在我对显卡要求不高、且在我的预算之内的情况下,店主推荐了影驰的9500GT,说显存512M,够用了。

搬回家后,装win7,结果卡在显卡驱动上,死活装不上。去官方网站下载最新的for win7的驱动也不行,用驱动盘安装也不行。当时就有点纳闷了,win7还会装不上这个常见的显卡驱动?

pcbeta里的坛友们说,9500GT的驱动用win7自带的更新程序就可以找到驱动,可是我的还是不行。

发帖到pcbeta求助,有朋友就指出我应该是买到假货了。

http://bbs.pcbeta.com/thread-485028-1-1.html

我用GPU测了一下,果真如此

 gpu

google 关键字 GPU 039F

看来我是真的买到假货了,还好当时留下了那家店的名片,拨通电话说明了一下情况,对方说让我抽时间将显卡和驱动带去店里,他们帮我重新检测一下,对方说他们也是从上家拿货,估计也是被上家给骗了。我会相信么?

继续阅读 »

比较萎靡

2009年05月15日 2:31 下午  |  分类:笔记本子


  夏天一来,状态好差。

  脚也无故有点肿痛,先是左脚,涂了点红花油揉得发烫之后就好了。没想到右脚又开始了,这次是右脚的脚跟, 我的妈,这一动脚就疼。印象中这二、三年偶尔都会在夏季出现这种症状,好像跟网上所说的“痛风”有点类似。

  房子的事情也很纠结,世纪公园的二手房价格都到1.5W了,咳。上周好不容易看上保利金爵,离张江镇较近,价格也不错。可被告之要等9月开盘的,目前没有了。囧,明天接着看房。

        貌似与同事有些事情没处理好,搞得心里也有点怪怪的。

  这二天在迷恋写小偷,过不多了多久,我的小偷就会面市啦~

Pages: « 1 2 3 ...6 7 8 9 10 ...111 112 113 »