php des 对称加解密类

<?php
header("Content-Type: text/html;charset=utf-8");
/**
* des 对称加解密
*/
class des {
	private $key = ‘‘;
	private $cipher = MCRYPT_DES; //加解密算法
	private $modes = MCRYPT_MODE_ECB; //算法模式
	private $iv = ‘‘; //初始化向量
	/**
	 * 密钥
	 */
	public function __construct($key) {
		$this->key = $key;
		$this->iv = mcrypt_create_iv(mcrypt_get_iv_size($this->cipher,$this->modes),MCRYPT_RAND);
	}
	/**
	 * 加密
	 */
	public function encrypt($input) {
		return mcrypt_encrypt($this->cipher,$this->key,$input,$this->modes,$this->iv);
	}
	/**
	 * 解密
	 */
	public function decrypt($input) {
		return mcrypt_decrypt($this->cipher,$this->key,$input,$this->modes,$this->iv); //解密函数
	}
}

$des = new des(100);
$a = $des->encrypt(‘郭海明‘);
echo $des->decrypt($a);
时间: 2024-08-25 11:03:22

php des 对称加解密类的相关文章

DES对称加解密、AES RijndaelManaged加解密、Base64加密解密、MD5加密等操作辅助类 EncodeHelper

/// <summary> /// 使用默认加密 /// </summary> /// <param name="strText"></param> /// <returns></returns> public static string DesEncrypt(string strText) /// <summary> /// 使用默认解密 /// </summary> /// <pa

一个java的DES加解密类转换成C#

原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.Pattern; //import java.util.Hashtable; import javax.crypto.*; import javax.crypto.spec.*; import sun.misc.*; /** * des加密解密 */ pu

加解密算法一:散列算法、对称加解密

.Net中的加解密操作所涉及的对象都在命名空间System.Security.Cryptography下,所以应先在程序中添加using System.Security.Cryptography. 1.散列算法: 用来产生一些数据片段(例如消息或会话项)的散列值的算法.好的散列算法具有在输入数据中的更改可以更改结果散列值中每个比特的特性:因此,散列对于检测在诸如消息等大型信息对象中的任何变化很有用.此外,好的散列算法使得构造两个独立的有相同散列的输入不能通过计算方法实现. 典型的散列算法包括 M

PHP版3DES加解密类

<?php /** * * PHP版3DES加解密类 * * 可与java的3DES(DESede)加密方式兼容 * * @Author:蓝凤(ilanfeng.com) * * @version: V0.1 2011.02.18 * */ class Cc3des{ //加密的时候只用替换key就行了,ecb模式不需要提供iv值 public $key = "0123456789QWEQWEEWQQ1234"; public $iv = "33889955"

对称加解密算法解析

一.概述 cryptosystem密码学系统分为私钥系统及公钥系统. 私钥系统:指加解密双方事先做了私有信息约定,采用对称密钥算法: 公钥系统:指发送方用公开凭证对数据进行加密后传输,接收方使用私有凭证进行解密,采用非对称密钥算法: 对称加密分类 流加密(stream cipher),加密和解密双方使用相同伪随机加密数据流,一般都是逐位异或或者随机置换数据内容,常见的流加密算法如RC4. 分组加密加密(block cipher),也叫块加密,将明文分成多个等长的模块(block),使用确定的算法

【基础分享】C#封装的几个加解密类

前段时间一个业余项目涉及到字符串和文件的加密,所以写了封装了几个给予DES,AES,MD5的加密解密类. 直接看代码 DesSecurity.cs /// <summary> /// 基于DES加密解密 /// </summary> public static class DesSecurity { public static byte[] Encrypt( byte[] data ,string key , bool ispaddingzeros = true, bool isE

DesUtils 加解密类使用

/** * 加密解密类 */ import javax.crypto.Cipher;import java.security.Key;import java.text.SimpleDateFormat;import java.util.Date; public class DesUtils { /** * 字符串默认键值 */ private static String strDefaultKey = "national"; /** * 加密工具 */ private Cipher e

php rsa 非对称加解密类

<?php header("Content-Type: text/html;charset=utf-8"); /* 生成公钥.私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令: openssl genrsa -out rsa_private_key.pem 1024 #生成原始 RSA私钥文件 rsa_private_key.pem opens

C#的DES文件加解密工具类

using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; using System.IO; namespace www.xinduofen.com { class FileDES { /// /// 加密文件随机数生成 /// private static RandomNumberGenerator rand = new RNGCryptoServi