- 浏览: 626183 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
- import java.io.IOException;
- import java.security.SecureRandom;
- import javax.crypto.Cipher;
- import javax.crypto.SecretKey;
- import javax.crypto.SecretKeyFactory;
- import javax.crypto.spec.DESKeySpec;
- import sun.misc.BASE64Decoder;
- import sun.misc.BASE64Encoder;
- public class DES {
- private byte[] desKey;
- public DES(String desKey) {
- this.desKey = desKey.getBytes();
- }
- public byte[] desEncrypt(byte[] plainText) throws Exception {
- SecureRandom sr = new SecureRandom();
- byte rawKeyData[] = desKey;
- DESKeySpec dks = new DESKeySpec(rawKeyData);
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey key = keyFactory.generateSecret(dks);
- Cipher cipher = Cipher.getInstance("DES");
- cipher.init(Cipher.ENCRYPT_MODE, key, sr);
- byte data[] = plainText;
- byte encryptedData[] = cipher.doFinal(data);
- return encryptedData;
- }
- public byte[] desDecrypt(byte[] encryptText) throws Exception {
- SecureRandom sr = new SecureRandom();
- byte rawKeyData[] = desKey;
- DESKeySpec dks = new DESKeySpec(rawKeyData);
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey key = keyFactory.generateSecret(dks);
- Cipher cipher = Cipher.getInstance("DES");
- cipher.init(Cipher.DECRYPT_MODE, key, sr);
- byte encryptedData[] = encryptText;
- byte decryptedData[] = cipher.doFinal(encryptedData);
- return decryptedData;
- }
- public String encrypt(String input) throws Exception {
- return base64Encode(desEncrypt(input.getBytes()));
- }
- public String decrypt(String input) throws Exception {
- byte[] result = base64Decode(input);
- return new String(desDecrypt(result));
- }
- public static String base64Encode(byte[] s) {
- if (s == null)
- return null;
- BASE64Encoder b = new sun.misc.BASE64Encoder();
- return b.encode(s);
- }
- public static byte[] base64Decode(String s) throws IOException {
- if (s == null)
- return null;
- BASE64Decoder decoder = new BASE64Decoder();
- byte[] b = decoder.decodeBuffer(s);
- return b;
- }
- public static void main(String[] args) throws Exception {
- String key = "abcdefgh";
- String input = "a";
- DES crypt = new DES(key);
- System.out.println("Encode:" + crypt.encrypt(input));
- System.out.println("Decode:" + crypt.decrypt(crypt.encrypt(input)));
- }
- }
import java.io.IOException; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class DES { private byte[] desKey; public DES(String desKey) { this.desKey = desKey.getBytes(); } public byte[] desEncrypt(byte[] plainText) throws Exception { SecureRandom sr = new SecureRandom(); byte rawKeyData[] = desKey; DESKeySpec dks = new DESKeySpec(rawKeyData); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(dks); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.ENCRYPT_MODE, key, sr); byte data[] = plainText; byte encryptedData[] = cipher.doFinal(data); return encryptedData; } public byte[] desDecrypt(byte[] encryptText) throws Exception { SecureRandom sr = new SecureRandom(); byte rawKeyData[] = desKey; DESKeySpec dks = new DESKeySpec(rawKeyData); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(dks); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.DECRYPT_MODE, key, sr); byte encryptedData[] = encryptText; byte decryptedData[] = cipher.doFinal(encryptedData); return decryptedData; } public String encrypt(String input) throws Exception { return base64Encode(desEncrypt(input.getBytes())); } public String decrypt(String input) throws Exception { byte[] result = base64Decode(input); return new String(desDecrypt(result)); } public static String base64Encode(byte[] s) { if (s == null) return null; BASE64Encoder b = new sun.misc.BASE64Encoder(); return b.encode(s); } public static byte[] base64Decode(String s) throws IOException { if (s == null) return null; BASE64Decoder decoder = new BASE64Decoder(); byte[] b = decoder.decodeBuffer(s); return b; } public static void main(String[] args) throws Exception { String key = "abcdefgh"; String input = "a"; DES crypt = new DES(key); System.out.println("Encode:" + crypt.encrypt(input)); System.out.println("Decode:" + crypt.decrypt(crypt.encrypt(input))); } }
php 方法一
- <?php
- class DES1 {
- var $key;
- function DES1($key) {
- $this->key = $key;
- }
- function encrypt($input) {
- $size = mcrypt_get_block_size('des', 'ecb');
- $input = $this->pkcs5_pad($input, $size);
- $key = $this->key;
- $td = mcrypt_module_open('des', '', 'ecb', '');
- $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
- @mcrypt_generic_init($td, $key, $iv);
- $data = mcrypt_generic($td, $input);
- mcrypt_generic_deinit($td);
- mcrypt_module_close($td);
- $data = base64_encode($data);
- return $data;
- }
- function decrypt($encrypted) {
- $encrypted = base64_decode($encrypted);
- $key =$this->key;
- $td = mcrypt_module_open('des','','ecb','');
- //使用MCRYPT_DES算法,cbc模式
- $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
- $ks = mcrypt_enc_get_key_size($td);
- @mcrypt_generic_init($td, $key, $iv);
- //初始处理
- $decrypted = mdecrypt_generic($td, $encrypted);
- //解密
- mcrypt_generic_deinit($td);
- //结束
- mcrypt_module_close($td);
- $y=$this->pkcs5_unpad($decrypted);
- return $y;
- }
- function pkcs5_pad ($text, $blocksize) {
- $pad = $blocksize - (strlen($text) % $blocksize);
- return $text . str_repeat(chr($pad), $pad);
- }
- function pkcs5_unpad($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);
- }
- }
- $key = "abcdefgh";
- $input = "a";
- $crypt = new DES1($key);
- echo "Encode:".$crypt->encrypt($input)."<br/>";
- echo "Decode:".$crypt->decrypt($crypt->encrypt($input));
- ?>
<?php class DES1 { var $key; function DES1($key) { $this->key = $key; } function encrypt($input) { $size = mcrypt_get_block_size('des', 'ecb'); $input = $this->pkcs5_pad($input, $size); $key = $this->key; $td = mcrypt_module_open('des', '', 'ecb', ''); $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); @mcrypt_generic_init($td, $key, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); return $data; } function decrypt($encrypted) { $encrypted = base64_decode($encrypted); $key =$this->key; $td = mcrypt_module_open('des','','ecb',''); //使用MCRYPT_DES算法,cbc模式 $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); @mcrypt_generic_init($td, $key, $iv); //初始处理 $decrypted = mdecrypt_generic($td, $encrypted); //解密 mcrypt_generic_deinit($td); //结束 mcrypt_module_close($td); $y=$this->pkcs5_unpad($decrypted); return $y; } function pkcs5_pad ($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } function pkcs5_unpad($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); } } $key = "abcdefgh"; $input = "a"; $crypt = new DES1($key); echo "Encode:".$crypt->encrypt($input)."<br/>"; echo "Decode:".$crypt->decrypt($crypt->encrypt($input)); ?>
php 方法2
使用phpseclib中的DES
- <?php
- include('DES.php');
- $des = new Crypt_DES();
- $des->setKey('abcdefgh');
- $plaintext = 'a';
- $jiami = base64_encode($des->encrypt($plaintext));
- echo "Encode:".$jiami."<br/>";
- echo "Decode:".$des->decrypt(base64_decode($jiami));
- ?>
发表评论
-
java导出txt【转】
2011-05-11 21:12 852http://qingfeng825.iteye.com/bl ... -
jsp页面读取系统日志并显示
2011-02-14 14:47 1735有时候做好一个项目,如果有时间,还可以另作一个小项目,来做这个 ... -
iterator显示list内容【原创】
2010-12-12 22:16 803<s:iterator value="menu ... -
java MD5加密【转+自创】
2010-12-12 16:36 1190import java.security.MessageD ... -
JAVA实现SOCKET短连接[转]
2010-12-12 16:25 1692先简单说概念: 1、socket就是TCP/IP实现的套接 ... -
List添加list对象【原创】
2010-12-12 11:05 5290实现方法用的是list的addAll方法。 List1. ... -
JAVA_HOME does not point to the JDK 解决方法[转]
2010-12-11 00:10 193010分钟前我自己也遇到 ... -
java面试32问(转)
2010-12-10 19:29 711第一,谈谈final, finally, ... -
java编写的专家系统(人工智能)动物识别
2010-12-10 19:24 3249这学期学的人工智能,韩老师要求我们要做一个专家系统,虽然试验用 ... -
java多线程结合界面开发实例(原创)财务管理系统
2010-12-10 19:21 1941以前常常听说JAVA有多线程 可自己编写到的却很少,这学期编 ... -
JAVA多线程结合界面开发讲解(整理)
2010-12-10 19:18 1737Java语言从其诞生到现 ... -
java中的synchronized关键字【转】
2010-12-10 18:28 730synchronized关键字的作用域有二种:1)是某个对象实 ... -
利用JAVA获得IP地址的法子(arg[0]的应用)【转】
2010-12-10 17:28 1483如何用Java获得一个域名的IP地址呢?提供这个功能的类叫做j ...
相关推荐
java的DES加密解密:用于密码在数据库的加密,解码类
在这个主题中,我们将深入探讨Java和PHP如何实现DES加密解密。 在Java中,DES加密解密主要通过`javax.crypto`包中的类来实现。首先,我们需要一个密钥,通常是8字节的字节数组。然后,使用`KeyGenerator`生成一个...
Java和JavaScript之间的DES加密解密是信息安全领域中的一个重要话题,主要涉及到数据的保护和通信的安全。DES(Data Encryption Standard)是一种古老的对称加密算法,尽管它在安全性上已不被视为最佳选择,但在某些...
Java实现des加密解密算法,des加密解密算法
java版Des加密解密源码 DES加密解密程序的主程序在 FileDES类中 运行时使用的例子是本目录下的111.doc文件,运行后自动生成222.doc文件和333.doc文件。 其中111.doc文件加密后的文件是222.doc文件,222.doc文件...
本篇文章将详细阐述DES加密解密的Java实现过程。 首先,我们需要了解DES算法的基本原理。DES是一种块密码,它将明文数据分成64位的数据块进行处理,其中包含56位的密钥。通过一系列复杂的置换和代换操作,将明文块...
标题中的"Des.JAVA.rar_DES.java_DES加密_java DES 128bit_java des_加密解密"表明这是一个关于Java实现DES(Data Encryption Standard)加密算法的压缩包,其中包含用于加密和解密的源代码。DES是一种对称加密算法...
Java 中的 3DES 加密解密示例(封装 byte 数组和 16 进制字符串互转) 在 Java 中,3DES 加密是一种常用的加密算法,它可以将明文数据转换为密文数据,以保护数据的安全性。在本示例中,我们将展示如何使用 3DES ...
DES加密解密算法的C语言实现 DES(Data Encryption Standard)是一种对称密钥 BLOCK 加密算法,使用 56 位密钥对 64 位数据块进行加密。下面是 DES 加密解密算法的 C 语言实现的知识点总结。 字节与二进制转换 在...
标题中的“3DES加密解密工具”指的是一个用于执行三重数据加密标准(3DES,Triple DES)的软件工具,这种工具通常用于保护敏感数据的安全,确保信息在传输过程中的机密性。3DES是DES(Data Encryption Standard,...
java-des加密解密程序,基于java编写的des,3des加密程序,包括MAC校验,MD5校验等
des加密解密算法,通过DES加密解密实现一个String字符串的加密和解密.
java代码-使用java解决DES加密解密的源代码 ——学习参考资料:仅用于个人学习使用!
DES加密解密java工具类 public static final String KEY_ALGORITHM = "DES"; public static final String CIPHER_ALGORITHM = "DES/ECB/PKCS5PADDING"; validKeySpecException, NoSuchPaddingException, ...
在给定的“des加密例程”中,可能包含了一个调用动态链接库(DLL)实现DES加密解密的示例代码。DLL是Windows操作系统中的一种共享库,可以被多个程序同时调用,节省内存资源并便于代码复用。这个示例可能涉及以下...
对数据进行单DES或者3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密
java 3des加密、解密工具类 java的3DES加密/解密
3DES加密解密的全工具类,快速帮助新人进行3Des加密解密
本资源"DES加密解密一套JAVA&IOS"提供了一套跨平台的解决方案,允许JAVA和iOS应用之间进行互操作性的加密和解密操作。 在JAVA平台上,DES加密和解密通常通过Java的`javax.crypto`包来实现。这个包提供了`Cipher`类...
des加密算法(js+java)加密与解密结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与... des.java 用于后台的加密解密操作; 项目中正好用到,已经过验证,两个加密解密结果相同,分享给大家!