`
yzz9i
  • 浏览: 216763 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

DES 与 MD5 加密类的创建

阅读更多

//DES 加密类:

 

public class DES {
 private static final String PASSWORD_CRYPT_KEY = "__jDlog_";
 private final static String DES = "DES";

 /**
  * 加密/解密
  *
  * @param src
  *            数据源
  * @param key
  *            密钥,长度必须是8的倍数
  * @return 返回加密后的数据
  * @throws Exception
  */
 public static byte[] des(byte[] src, byte[] key, Mode type)
   throws Exception {
  // DES算法要求有一个可信任的随机数源
  SecureRandom sr = new SecureRandom();
  // 从原始密匙数据创建DESKeySpec对象
  DESKeySpec dks = new DESKeySpec(key);
  // 创建一个密匙工厂,然后用它把DESKeySpec转换成
  // 一个SecretKey对象
  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
  SecretKey securekey = keyFactory.generateSecret(dks);
  // Cipher对象实际完成加密操作
  Cipher cipher = Cipher.getInstance(DES);
  // 用密匙初始化Cipher对象
  
  if (type.toString().equals(Mode.ENCRYPT.toString()))
   cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
  else
   cipher.init(Cipher.DECRYPT_MODE, securekey, sr);
  // 现在,获取数据并加密
  // 正式执行加密操作
  return cipher.doFinal(src);
 }
 
 public static void main(String[] args) throws Exception {
  //加密
  byte[] b = des("admin".getBytes(),"12345678".getBytes(),Mode.ENCRYPT);
  
  //解密
  b = des(b,"12345678".getBytes(),Mode.DECRYPT);
  System.out.println(new String(b));
 }

}

 

 

 

//MD5 加密:

 

public class MD5 {

 public static String getMd5(String source) {
  try {
   MessageDigest messageDigest = MessageDigest.getInstance("MD5");
   byte[] b = messageDigest.digest(source.getBytes("utf-8"));
   BASE64Encoder base64en = new BASE64Encoder();
   return base64en.encode(b);
  } catch (Exception e) {
   throw new RuntimeException("not support md5");
  }
 }

  public static void main(String[] args) {
   String result = MD5.getMd5("ISMvKXpXpadDiUoOSoAfww==");
   System.out.println(result);
  
 }


}

分享到:
评论

相关推荐

    C++ sm2、sm3、sm4、rsa、crc、md、sha、des等加密算法类源码

    6 md md2加密、md4加密、md5加密 7 sha sha-1加密、sha-224加密、sha-256加密、sha-384加密、sha-512加密 8 des ecb加密、ecb解密、cbc加密、cbc解密、mac 源码包含了封装的功能模块类以及测试类, 全部源码都可以...

    c# 加密和解密相关代码

    MD5 类表示MD5 哈希算法的所有实现均从中继承的抽象类,该类位于System.Security.Cryptography 命名 空间下,其ComputeHash 方法有3种重载形式,分别介绍如下。 计算指定字节数组的哈希值,语法格式如下: public ...

    ios-鹏哥哥算法加密.zip

    5、sha1加密(安全[哈希算法])只是叫做一种算法,用于检验数据完整性 全名: 安全哈希算法(Secure Hash Algorithm)输出: 160bit 与Md5比较 相同点: 因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的...

    简单易用的高速加密工具 BCArchive 2.07.2.zip

    安全散列算法:SHA-256,SHA-1,MD5和RIPEMD-160。 非对称(公钥/私钥对)算法:RSA,ElGamal公钥/的Diffie-Hellman。 规格为公/私钥对格式:PKCS#12,X.509。 PKCS#为基于密码的加密实施5建议。 RFC 2440规范加密...

    自己收集整理的一些常用的工具类

    DES DES加密解密类 DataCleanManager 本应用数据清除管理器 DatabaseExportUtils 应用数据库导出工具类 DateUtil 日期操作工具类 DbHelper 数据库帮助类 DensityUtil 屏幕信息获取数值的转换 DeviceStatusUtils 手机...

    AHK_CNG:CNG 的 AHK 实现(加密 API

    MD2、MD4、MD5 SHA1 SHA2(SHA256、SHA384、SHA512) PBKDF2 用CNG加密和解密 经测试的加密算法 AES (EBC / CBC / CFB) 带密钥 + IV DES (ECB / CBC) RC2 RC4 例子 从字符串创建 SHA-1 哈希 MsgBox % Crypt....

    Led_Nova Nova显示屏通讯

    Nova显示屏通讯 ...DES 加密和 MD5 校验算法详见附录。 编码:协议中涉及到多字节表示整数的部分,无特别说明,均采用低位前, 高位后的编码方式;涉及到字符串部分,无特别说明,均采用 UTF8 编码方式。

    part05_软件加解密技术-软件加密》配套光盘 Delphi 7.0

    \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥...

    Android开发人员不得不收集的代码

    MD5加密 encryptMD5ToString encryptMD5 SHA1加密 encryptSHA1ToString encryptSHA1 SHA224加密 encryptSHA224ToString encryptSHA224 SHA256加密 encryptSHA256ToString encryptSHA256 SHA384加密 encryptSHA384...

    《软件加解密技术-软件加密》配套光盘

    加密算法}chap02\CRC32-Dym.................CRC32算法动态码表实现 \CRC32-Static..............CRC32算法静态码表实现 \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES........

    part01_软件加解密技术-软件加密》配套光盘 Delphi 7.0

    \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥...

    part03_软件加解密技术-软件加密》配套光盘 Delphi 7.0

    \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥...

    net实用类50超级实用方法赠分页

    ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换...

    懒惰:Android工具自己整理的常用的工具类

    DES加密解密类 本应用数据清除管理器 应用数据库衍生工具类 日期操作工具类 数据库帮助类 屏幕信息获取数值的转换 手机状态工具类主要包括网络,蓝牙,屏幕亮度,飞行模式,音量等 DigestUtils 文件操作 拼音汉字...

    基于SNMP/MIB的网络数据获取系统设计与实现

    SNMPv3安全: 支持HMAC-SHA-96,HMAC-MD5-96,CBC-DES和128位AES加密。 稳健的SMIv1和SMIv2 MIB解析器: 无缝解析任何OEM供应商的MIB定义。 MIB加载: 可以选择从预编译文件、串行文件或数据库加载MIB文件以增强...

    net实用类50个常用方法升级版分页

    ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换...

    net实用类50超级实用方法赠分页分页控件强大的分页

    ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换...

    Java案例开发锦集

    案例5 利用DES加密解密 第七章 Java与数据库 案例1 在Applet中应用JDBC访问数据库 案例2 通过JDBC-ODBC桥连接数据库 案例3 通过tomcat数据源访问数据库 案例4 JDBC连接池的实现 案例5 用...

    part04_软件加解密技术-软件加密》配套光盘 Delphi 7.0

    \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥...

Global site tag (gtag.js) - Google Analytics