H3C-cams DES加密算法研究总结

寂寂无言 分享 2020-06-22 下载文档

H3C加密算法研究总结

1、 使用的密码算法为DES+BASE64 (DES使用默认的加密密钥“liuan814”) 2、 从IMC-PLAT.jar中提取出的加密和解密代码片段 CommonUtils.class中的: @ExternalInterface

private static final byte[] j = \ private static Cipher k; private static Cipher l;

public static byte[] encryptData(byte[] paramArrayOfByte) {

if (k == null) { try {

DESKeySpec localDESKeySpec = new DESKeySpec(j);

SecretKeyFactory localSecretKeyFactory = SecretKeyFactory.getInstance(\ SecretKey localSecretKey = localSecretKeyFactory.generateSecret(localDESKeySpec); k = Cipher.getInstance(\ k.init(1, localSecretKey);

} catch (Exception localException1) { a.error(null, localException1); return null; }

}

byte[] arrayOfByte = null; try {

arrayOfByte = k.doFinal(paramArrayOfByte); } catch (Exception localException2) { a.error(null, localException2); return null; }

if (arrayOfByte != null) {

return Base64.encodeBase64(arrayOfByte); }

return null; }

@ExternalInterface

public static byte[] decryptData(byte[] paramArrayOfByte) {

if (l == null) { try {

DESKeySpec localDESKeySpec = new DESKeySpec(j);

SecretKeyFactory localSecretKeyFactory = SecretKeyFactory.getInstance(\ SecretKey localSecretKey = localSecretKeyFactory.generateSecret(localDESKeySpec); l = Cipher.getInstance(\ l.init(2, localSecretKey);

} catch (Throwable localThrowable) { return null; }

}

byte[] arrayOfByte = Base64.decodeBase64(paramArrayOfByte); if (arrayOfByte == null) { return null; }

try {

return l.doFinal(arrayOfByte); } catch (Exception localException) { a.error(null, localException); }return null; }

提取出的代码放到eclipse中加工后进行测试。这里需要说明的是,需要把两个文件imc-plat.jar和从网上下载和Cipher加密算法相关的commons-codec-1.8.jar放到jre的相关目录中,我的是:C:\\Program Files\\Java\\jre7\\lib\\ext,在运行的时候会有一些奇怪的错误,解决方式如图。

可用的java代码:desjjm.java package com.h3c.imc.common;

import javax.crypto.spec.DESKeySpec; import javax.crypto.Cipher; import javax.crypto.SecretKey;

import javax.crypto.SecretKeyFactory;

import org.apache.commons.codec.binary.*;

public class desjjm {

private static final byte[] j = \private static Cipher k; private static Cipher l;

//加密算法

public static byte[] encryptData(byte[] paramArrayOfByte) {

if (k == null) { try {

DESKeySpec localDESKeySpec = new DESKeySpec(j);

SecretKeyFactory localSecretKeyFactory = SecretKeyFactory.getInstance(\ SecretKey localSecretKey = localSecretKeyFactory.generateSecret(localDESKeySpec); k = Cipher.getInstance(\

k.init(1, localSecretKey);

} catch (Exception localException1) { return null; } }

byte[] arrayOfByte = null; try {

arrayOfByte = k.doFinal(paramArrayOfByte); } catch (Exception localException2) { //a.error(null, localException2); return null; }

if (arrayOfByte != null) {

return Base64.encodeBase64(arrayOfByte); }

return null; }

//解密算法

public static byte[] decryptData(byte[] paramArrayOfByte) {

if (l == null) { try {

DESKeySpec localDESKeySpec = new DESKeySpec(j);

SecretKeyFactory localSecretKeyFactory = SecretKeyFactory.getInstance(\ SecretKey localSecretKey = localSecretKeyFactory.generateSecret(localDESKeySpec); l = Cipher.getInstance(\ l.init(2, localSecretKey);

} catch (Throwable localThrowable) { return null; } }

byte[] arrayOfByte = Base64.decodeBase64(paramArrayOfByte); if (arrayOfByte == null) { return null; }

try

{

return l.doFinal(arrayOfByte); } catch (Exception localException) { }return null; }

public static void main(String[] args) { //演示加密算法 String mwpass=\ byte[] jmpass; jmpass=encryptData(mwpass.getBytes()); String dispjmpass; dispjmpass = new String(jmpass); System.out.println(dispjmpass); //演示解密算法 byte[] encryptedpass;//已加密字符串 byte[] realpass;//实际密码二进制串 String realpassStr;//实际密码字符串 String encryptedpassStr=\ encryptedpass = encryptedpassStr.getBytes(); realpass=decryptData(encryptedpass); realpassStr=new String(realpass); System.out.println(realpassStr); //Base64算法测试 //加密 String str= \为要加密的字符串 byte[] b = Base64.encodeBase64(str.getBytes()); System.out.println(new String(b)); //解密 str = \为要解密的字符串 b = Base64.decodeBase64(str.getBytes()); System.out.println(new String(b)); } }


H3C-cams DES加密算法研究总结 .doc 将本文的Word文档下载到电脑

下一篇:2017小学一年级数学上册易错题整理(苏教版)

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx