/**
*
* DES FOR .NET版本
* @author Administrator
*
*/
class DES_NET{
var $key;
var $iv; //偏移量
function DES_NET( $key, $iv=0 ) {
//key长度8例如:1234abcd
$this->key = $key;
if( $iv == 0 ) {
$this->iv = $key; //默认以$key 作为 iv
} else {
$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_...
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.security.Key;import java.security.MessageDigest;import java.util.Base64;import javax.crypto.Cipher;import javax.crypto.CipherInputStream;import javax.crypto.CipherOutputStream;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;i...
Java和.NET的系统类库里都有封装DES对称加密的实现方式,但是对外暴露的接口却各不相同,甚至有时会让自己难以解决其中的问题,比如Java加密后的结果在.NET中解密不出来等,由于最近项目有跨Java和.NET的加解密,经过我的分析调试,终于让它们可以互相加密解密了。 DES加密 DES是一种对称加密(Data Encryption Standard)算法,以前我写过一篇文章:.NET中加密解密相关知识,有过简单描述。 DES算法一般有两个关键点,第...
概述信息安全基本概念:DES(Data Encryption Standard,数据加密标准)3DES(Triple DES,三重数据加密算法(TDEA,Triple Data Encryption Algorithm))AES(Advanced Encryption Standard,高级加密标准)BlowfishRC2RC4DES DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广...
1 AES算法1.1 算法描述1.1.1 设计思想Rijndael密码的设计力求满足以下3条标准:① 抵抗所有已知的攻击。② 在多个平台上速度快,编码紧凑。③ 设计简单。当前的大多数分组密码,其轮函数是Feistel结构。Rijndael没有这种结构。Rijndael轮函数是由3个不同的可逆均匀变换1.1.2 密码说明严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥...
Java源码:
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;public class ThreeDES {private static final String Algorithm = "DESede"; //定义 加密算法,可用 DES,DESede,Blowfish//keybyte为加密密钥,长度为24字节//src为被加密的数据缓冲区(源)public static byte[] encryptMode(byte[] keybyte, byte[] src) {try {//生成密钥Secret...
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import java.io.IOException;
import java.security.SecureRandom;public class PHPDESEncrypt {String key;public PHPDESEncrypt() {}public PHPDESEncrypt(String key) {this.key = key;}public byte[] desEncrypt(byte...
C#代码:Java代码:Php代码:以上就介绍了 C#/JAVA/PHP 兼容DES_EBC加密解密算法支持8位,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
php代码:
<?php
class DES
{var $key;var $iv; //偏移量function DES($key, $iv=0){$this->key = $key;if($iv == 0){$this->iv = $key;}else {$this->iv = $iv;}}//加密function encrypt($str){ $size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MODE_CBC );$str = $this->pkcs5Pad ( $str, $size );$data=mcrypt_cbc(MCRYPT_DES, $this->key, $str, MCRYPT_ENCRYPT, $this->iv);//$data=strtoupper(bin2hex($data)); //返回大...
PHP、Java des加密解密实例,des加密解密des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库
下面是加密解密的实例代码如下:
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";//密钥
$text = "Meet me at 11 oclock beh...
3des 对方提供的密钥 56781234D56F012BCD5E701A3CDD6709 需要用PHP和他实现同样的加密 结果转化成16进制 也就是如果有8位 例如 00000000 加密后转化成16进制就是16位 他们提供一个软件 我对12345678 进行加密 先将12345678 用 bin2hex转化成16进制字符串 结果为 3132333435363738 然后进行加密 得到的结果为 B2A85CF088D9FF03 如图: 现在用要PHP实现和它相同的加密结果!我试了很多次都对应不上,...
/** * * DES FOR .NET版本 * @author Administrator * */class DES_NET{ var $key; var $iv; //偏移量 function DES_NET( $key, $iv=0 ) { //key长度8例如:1234abcd $this->key = $key; if( $iv == 0 ) { $this->iv = $key; //默认以$key 作为 iv } else { $this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_CBC), MCRYPT_DEV...
PHP可以使用mcrypt_encrypt进行DES加密与解密,但实际上操作,你会发现它与JAVA的DES加密出来的字符串,有些不同。基本上是前半段一样,后半段不一样。找到PHP官方网站上对这个函数的文档,有人回复了,并给出了代码。经测,这样加密解密就跟JAVA中的兼容了。
PHP des加密输入怎么才能和JAVA的des输出一至呢Java加密代码Java code
/*** 传输的关键数据加密* @param keyData 需加密值* @param timestamp 时间戳* @param dataSecret 密钥* @return String 加密数据*/public static String encryptKeyData(String keyData, Long timestamp, String dataSecret) {DateFormat df = new SimpleDateFormat(Constants.DATE_TIME_FORMAT);df.setTimeZone(TimeZone.getTimeZone(Constants.DATE_TIME...
JAVA、PHP、C#、Object-C 通用的DES加密解密 JAVA、Android:package com.example.aric.test;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import javax.crypto.spec.IvParameterSpec;import android.util.Base64;public class DES { public final static String DES_KEY_STRING = "ABSujsuu"; public static String encrypt(St...