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

📄 desencrypt.java

📁 java实现des加密算法
💻 JAVA
字号:
package encrypt;

import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

/**
 *
 * <p>Title: DES对称算法</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */
public class DESEncrypt
{
    public DESEncrypt()
    {
    }
    public static void main(String[] args)
    {
        des();
    }

    static void des()
    {
        Security.addProvider( new com.sun.crypto.provider.SunJCE() );
        String Algorithm = "DES"; //定义 加密算法,可用 DES,DESede,Blowfish
        String myinfo = "要加密的信息";
        try
        {
            //生成密钥
            KeyGenerator keygen = KeyGenerator.getInstance( Algorithm );
            SecretKey deskey = keygen.generateKey();

            //加密
//            System.out.println( "加密前的二进串:" + byte2hex( myinfo.getBytes() ) );
            System.out.println( "加密前的信息:" + myinfo );

            Cipher c1 = Cipher.getInstance( Algorithm );
            c1.init( Cipher.ENCRYPT_MODE, deskey );
            byte[] cipherByte = c1.doFinal( myinfo.getBytes() );
//            System.out.println( "加密后的二进串:" + byte2hex( cipherByte ) );

            //解密
            c1 = Cipher.getInstance( Algorithm );
            c1.init( Cipher.DECRYPT_MODE, deskey );
            byte[] clearByte = c1.doFinal( cipherByte );
//            System.out.println( "解密后的二进串:" + byte2hex( clearByte ) );
            System.out.println( "解密后的信息:" + ( new String( clearByte ) ) );
        }
        catch ( java.security.NoSuchAlgorithmException e1 )
        {
            e1.printStackTrace();
        }
        catch ( javax.crypto.NoSuchPaddingException e2 )
        {
            e2.printStackTrace();
        }
        catch ( java.lang.Exception e3 )
        {
            e3.printStackTrace();
        }
    }

    private static String byte2hex( byte[] b ) //二行制转字符串
    {
        String hs = "";
        String stmp = "";
        for ( int n = 0; n < b.length; n++ )
        {
            stmp = ( java.lang.Integer.toHexString( b[n] & 0XFF ) );
            if ( stmp.length() == 1 )
                hs = hs + "0" + stmp;
            else
                hs = hs + stmp;
            if ( n < b.length - 1 )
                hs = hs + ":";
        }
        return hs.toUpperCase();
    }

}

⌨️ 快捷键说明

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