展会信息港展会大全

php加密解密处理类--参 考:Discuz论坛的passpor
来源:互联网   发布日期:2016-03-02 15:44:24   浏览:4734次  

导读:?php 02 /*=========================================================== 03 = 版权协议: 04 = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) 05 =------------------------------------------------------------ 06 = 文件名称:cls.sys_cr...

<?php

02

/*===========================================================

03

= 版权协议:

04

= GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991)

05

=------------------------------------------------------------

06

= 文件名称:cls.sys_crypt.php

07

= 摘要:php加密解密处理类

08

= 版本:1.0

09

= 参考:Discuz论坛的passport相关函数

10

=------------------------------------------------------------

11

= Script Written By PHPWMS项目组

12

= 最后更新:xinge

13

= 最后日期:2007-12-09

14

============================================================*/

15

16

class SysCrypt {

17

18

private $crypt_key;

19

20

// 构造函数

21

public function __construct($crypt_key) {

22

$this -> crypt_key = $crypt_key;

23

}

24

25

public function php_encrypt($txt) {

26

srand((double)microtime() * 1000000);

27

$encrypt_key = md5(rand(0,32000));

28

$ctr = 0;

29

$tmp = '';

30

for($i = 0;$i<strlen($txt);$i++) {

31

$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;

32

$tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);

33

}

34

return base64_encode(self::__key($tmp,$this -> crypt_key));

35

}

36

37

public function php_decrypt($txt) {

38

$txt = self::__key(base64_decode($txt),$this -> crypt_key);

39

$tmp = '';

40

for($i = 0;$i < strlen($txt); $i++) {

41

$md5 = $txt[$i];

42

$tmp .= $txt[++$i] ^ $md5;

43

}

44

return $tmp;

45

}

46

47

private function __key($txt,$encrypt_key) {

48

$encrypt_key = md5($encrypt_key);

49

$ctr = 0;

50

$tmp = '';

51

for($i = 0; $i < strlen($txt); $i++) {

52

$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;

53

$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];

54

}

55

return $tmp;

56

}

57

58

public function __destruct() {

59

$this -> crypt_key = null;

60

}

61

}

62

63

64

$sc = new SysCrypt('phpwms');

65

$text = '110';

66

print($sc -> php_encrypt($text));

67

print('<br>');

68

print($sc -> php_decrypt($sc -> php_encrypt($text)));

69

?>

赞助本站

人工智能实验室

相关热词: 开发 编程 android

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港