知识大全 3DES加密解密调用示例

Posted

篇首语:登山则情满于山,观海则意溢于海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 3DES加密解密调用示例相关的知识,希望对你有一定的参考价值。

3DES加密解密调用示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在java中调用sun公司提供的 DES加密解密算法时 需要使用到$JAVA_HOME/jre/lib/目录下如下的 个jar包

  jce jar

  security/US_export_policy jar

  security/local_policy jar

  ext/sunjce_provider jar

  Java运行时会自动加载这些包 因此对于带main函数的应用程序不需要设置到CLASSPATH环境变量中 对于WEB应用 不需要把这些包加到WEB INF/lib目录下

  以下是java中调用sun公司提供的 DES加密解密算法的样本代码

  /*字符串 DESede( DES) 加密*/

  import java security *;

  import javax crypto *;

  import javax crypto spec SecretKeySpec;

  public class ThreeDes

  private static final String Algorithm = DESede ; //定义 加密算法 可用 DES DESede Blowfish

  //keybyte为加密密钥 长度为 字节

  //src为被加密的数据缓冲区(源)

  public static byte[] encryptMode(byte[] keybyte byte[] src)

  try

  //生成密钥

  SecretKey deskey = new SecretKeySpec(keybyte Algorithm);

  //加密

  Cipher c = Cipher getInstance(Algorithm);

  c init(Cipher ENCRYPT_MODE deskey);

  return c doFinal(src);

  

  catch (java security NoSuchAlgorithmException e )

  e printStackTrace();

  

  catch (javax crypto NoSuchPaddingException e )

  e printStackTrace();

  

  catch (java lang Exception e )

  e printStackTrace();

  

  return null;

  

  //keybyte为加密密钥 长度为 字节

  //src为加密后的缓冲区

  public static byte[] decryptMode(byte[] keybyte byte[] src)

  try

  //生成密钥

  SecretKey deskey = new SecretKeySpec(keybyte Algorithm);

  //解密

  Cipher c = Cipher getInstance(Algorithm);

  c init(Cipher DECRYPT_MODE deskey);

  return c doFinal(src);

  

  catch (java security NoSuchAlgorithmException e )

  e printStackTrace();

  

  catch (javax crypto NoSuchPaddingException e )

  e printStackTrace();

  

  catch (java lang Exception e )

  e printStackTrace();

  

  return null;

  

  //转换成十六进制字符串

  public static String byte hex(byte[] b)

  String hs= ;

  String stmp= ;

  for (int n= ;n<b length;n++)

  stmp=(java lang Integer toHexString(b[n] & XFF));

  if (stmp length()== ) hs=hs+ +stmp;

  else hs=hs+stmp;

  if (n<b length ) hs=hs+ : ;

  

  return hs toUpperCase();

  

  public static void main(String[] args)

  //添加新安全算法 如果用JCE就要把它添加进去

  Security addProvider(new sun crypto provider SunJCE());

  final byte[] keyBytes = x x x F x

  (byte) x x x x x x x x

  (byte) xCB (byte) xDD x x x x x

  (byte) x x x x (byte) xE

  ; // 字节的密钥

  String szSrc = This is a DES test 测试 ;

  System out println( 加密前的字符串: + szSrc);

  byte[] encoded = encryptMode(keyBytes szSrc getBytes());

  System out println( 加密后的字符串: + new String(encoded));

  byte[] srcBytes = decryptMode(keyBytes encoded);

  System out println( 解密后的字符串: + (new String(srcBytes)));

  

cha138/Article/program/Java/hx/201311/27170

相关参考

知识大全 Java中3DES加密解密示例

Java中3DES加密解密示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在java中调用s

知识大全 C#调用WebService示例

C#调用WebService示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#调用WebS

知识大全 ASP调用存储过程源码示例

ASP调用存储过程源码示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP调用存储过程源码

知识大全 js调用Flex中的方法并向flex中传参及flex调用js示例

js调用Flex中的方法并向flex中传参及flex调用js示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 Java/JSP中调用SQL Server存储过程完整示例

Java/JSP中调用SQLServer存储过程完整示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 c#webservice的简单示例

  是webservice就概念上来说可能比较复杂不过我们可以有个宏观的了解webservice就是个对外的接口里面有函数可供外部客户调用(注意里面同样有客户不可调用的函数)假若我们是服务端我们写好了

知识大全 调用存储过程时注意要使用output做修饰符

  调用存储过程时的注意事项假如有输出参数注意要使用output做修饰符  示例如下cha138/Article/program/SQL/201311/16198

知识大全 借助封装类实现线程调用带参方法

  (一)描述     由于线程只能执行无参数方法有时候需要线程执行带参数方法     此示例演示怎

知识大全 java字符串加密解密

  java字符串加密解密  tryStringtest=EncryptionDecryptiondes=newEncryptionDecryption(tourhb)//自定义密钥Systemout

知识大全 C#对称加密解密算法

C#对称加密解密算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///<summary