⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des.java

📁 设备资产管理源代码和 公共的函数
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   DES.java

package carven;

import com.sun.crypto.provider.SunJCE;
import java.io.PrintStream;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

// Referenced classes of package carven:
//			OpByte

public class DES
{

	private byte FIV[];
	private byte FKEY[];

	public DES()
	{
		byte IV[] = {
			-101, 103, -10, 8, 36, 99, -22, 36
		};
		byte key[] = {
			-114, 16, 93, -100, 78, 4, -38, -124
		};
		FIV = IV;
		FKEY = key;
	}

	public String encode(String strText)
	{
		Security.addProvider(new SunJCE());
		String Algorithm = "DES/CBC/PKCS5Padding";
		try
		{
			javax.crypto.SecretKey deskey = new SecretKeySpec(FKEY, "DES");
			Cipher c1 = Cipher.getInstance("DES/CBC/PKCS5Padding");
			IvParameterSpec ivSpec = new IvParameterSpec(FIV);
			c1.init(1, deskey, ivSpec);
			byte cipherByte[] = c1.doFinal(strText.getBytes("gbk"));
			return OpByte.Base64Encode(cipherByte);
		}
		catch (NoSuchAlgorithmException e1)
		{
			e1.printStackTrace();
		}
		catch (NoSuchPaddingException e2)
		{
			e2.printStackTrace();
		}
		catch (Exception e3)
		{
			e3.printStackTrace();
		}
		return null;
	}

	public String decode(String strText)
	{
		Security.addProvider(new SunJCE());
		String Algorithm = "DES/CBC/PKCS5Padding";
		try
		{
			javax.crypto.SecretKey deskey = new SecretKeySpec(FKEY, "DES");
			Cipher c1 = Cipher.getInstance("DES/CBC/PKCS5Padding");
			IvParameterSpec ivSpec = new IvParameterSpec(FIV);
			c1.init(1, deskey, ivSpec);
			c1 = Cipher.getInstance("DES/CBC/PKCS5Padding");
			c1.init(2, deskey, ivSpec);
			byte clearByte[] = c1.doFinal(OpByte.Base64Decode(strText));
			return new String(clearByte, "gbk");
		}
		catch (NoSuchAlgorithmException e1)
		{
			e1.printStackTrace();
		}
		catch (NoSuchPaddingException e2)
		{
			e2.printStackTrace();
		}
		catch (Exception e3)
		{
			e3.printStackTrace();
		}
		return null;
	}

	public static void main(String args[])
	{
		DES des = new DES();
		String tmp = des.encode("carven");
		System.out.println(tmp);
		System.out.println(des.decode(tmp));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -