当前位置:首页 > 代码 > 正文

des加密源代码(des加密算法c代码)

admin 发布:2022-12-20 00:03 119


本篇文章给大家谈谈des加密源代码,以及des加密算法c代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

使用编程语言(如Java、VC++等)实现DES加密/解密算法的软件系统 (高分求源代码)

可以考虑另外的方式沟通。说实话我们写那些程序,也付出了远多于你的回报呀。

哈哈哈

真心想写找我。

java 给定十六位密钥 如何进行des加密?

package com.palic.pss.afcs.worldthrough.common.util;

import javax.crypto.Cipher;

import javax.crypto.spec.SecretKeySpec;

import repack.com.thoughtworks.xstream.core.util.Base64Encoder;

/**

 * AES加密解密

 * @author EX-CHENQI004

 *

 */

public class AesUtils {

public static final String cKey= "assistant7654321";

  /** 

     * 加密--把加密后的byte数组先进行二进制转16进制在进行base64编码 

     * @param sSrc 

     * @param sKey 

     * @return 

     * @throws Exception 

     */  

    public static String encrypt(String sSrc, String sKey) throws Exception {  

        if (sKey == null) {  

            throw new IllegalArgumentException("Argument sKey is null.");  

        }  

        if (sKey.length() != 16) {  

            throw new IllegalArgumentException(  

                    "Argument sKey'length is not 16.");  

        }  

        byte[] raw = sKey.getBytes("ASCII");  

        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");  

  

        Cipher cipher = Cipher.getInstance("AES");  

        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);  

  

        byte[] encrypted = cipher.doFinal(sSrc.getBytes("UTF-8"));  

        String tempStr = parseByte2HexStr(encrypted);  

  

        Base64Encoder encoder = new Base64Encoder();  

        return encoder.encode(tempStr.getBytes("UTF-8"));  

    }  

  

    /** 

     *解密--先 进行base64解码,在进行16进制转为2进制然后再解码 

     * @param sSrc 

     * @param sKey 

     * @return 

     * @throws Exception 

     */  

    public static String decrypt(String sSrc, String sKey) throws Exception {  

  

        if (sKey == null) {  

            throw new IllegalArgumentException("499");  

        }  

        if (sKey.length() != 16) {  

            throw new IllegalArgumentException("498");  

        }  

  

        byte[] raw = sKey.getBytes("ASCII");  

        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");  

  

        Cipher cipher = Cipher.getInstance("AES");  

        cipher.init(Cipher.DECRYPT_MODE, skeySpec);  

  

        Base64Encoder encoder = new Base64Encoder();  

        byte[] encrypted1 = encoder.decode(sSrc);  

  

        String tempStr = new String(encrypted1, "utf-8");  

        encrypted1 = parseHexStr2Byte(tempStr);  

        byte[] original = cipher.doFinal(encrypted1);  

        String originalString = new String(original, "utf-8");  

        return originalString;  

    }  

  

    /** 

     * 将二进制转换成16进制 

     *  

     * @param buf 

     * @return 

     */  

    public static String parseByte2HexStr(byte buf[]) {  

        StringBuffer sb = new StringBuffer();  

        for (int i = 0; i  buf.length; i++) {  

            String hex = Integer.toHexString(buf[i]  0xFF);  

            if (hex.length() == 1) {  

                hex = '0' + hex;  

            }  

            sb.append(hex.toUpperCase());  

        }  

        return sb.toString();  

    }  

  

    /** 

     * 将16进制转换为二进制 

     *  

     * @param hexStr 

     * @return 

     */  

    public static byte[] parseHexStr2Byte(String hexStr) {  

        if (hexStr.length()  1)  

            return null;  

        byte[] result = new byte[hexStr.length() / 2];  

        for (int i = 0; i  hexStr.length() / 2; i++) {  

            int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);  

            int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),  

                    16);  

            result[i] = (byte) (high * 16 + low);  

        }  

        return result;  

    } 

    public static void main(String[] args) throws Exception {

/*

 * 加密用的Key 可以用26个字母和数字组成,最好不要用保留字符,虽然不会错,至于怎么裁决,个人看情况而定

 */

String cKey = "assistant7654321";

// 需要加密的字串

String cSrc = "123456";

// 加密

long lStart = System.currentTimeMillis();

String enString = encrypt(cSrc, cKey);

System.out.println("加密后的字串是:" + enString);

long lUseTime = System.currentTimeMillis() - lStart;

System.out.println("加密耗时:" + lUseTime + "毫秒");

// 解密

lStart = System.currentTimeMillis();

String DeString = decrypt(enString, cKey);

System.out.println("解密后的字串是:" + DeString);

lUseTime = System.currentTimeMillis() - lStart;

System.out.println("解密耗时:" + lUseTime + "毫秒");

}

}

用c++实现DES的加密解密的源代码

#include iostream

#include fstream

#include bitset

#include string

using namespace std;

bitset64 key;                

bitset48 subKey[16];        

int IP[] = {58, 50, 42, 34, 26, 18, 10, 2,

60, 52, 44, 36, 28, 20, 12, 4,

62, 54, 46, 38, 30, 22, 14, 6,

64, 56, 48, 40, 32, 24, 16, 8,

57, 49, 41, 33, 25, 17, 9,  1,

59, 51, 43, 35, 27, 19, 11, 3,

61, 53, 45, 37, 29, 21, 13, 5,

63, 55, 47, 39, 31, 23, 15, 7};

int IP_1[] = {40, 8, 48, 16, 56, 24, 64, 32,

  39, 7, 47, 15, 55, 23, 63, 31,

  38, 6, 46, 14, 54, 22, 62, 30,

  37, 5, 45, 13, 53, 21, 61, 29,

  36, 4, 44, 12, 52, 20, 60, 28,

  35, 3, 43, 11, 51, 19, 59, 27,

  34, 2, 42, 10, 50, 18, 58, 26,

  33, 1, 41,  9, 49, 17, 57, 25};

int PC_1[] = {57, 49, 41, 33, 25, 17, 9,

   1, 58, 50, 42, 34, 26, 18,

  10,  2, 59, 51, 43, 35, 27,

  19, 11,  3, 60, 52, 44, 36,

  63, 55, 47, 39, 31, 23, 15,

   7, 62, 54, 46, 38, 30, 22,

  14,  6, 61, 53, 45, 37, 29,

  21, 13,  5, 28, 20, 12,  4}; 

int PC_2[] = {14, 17, 11, 24,  1,  5,

   3, 28, 15,  6, 21, 10,

  23, 19, 12,  4, 26,  8,

  16,  7, 27, 20, 13,  2,

  41, 52, 31, 37, 47, 55,

  30, 40, 51, 45, 33, 48,

  44, 49, 39, 56, 34, 53,

  46, 42, 50, 36, 29, 32};

int shiftBits[] = {1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1};

int E[] = {32,  1,  2,  3,  4,  5,

    4,  5,  6,  7,  8,  9,

    8,  9, 10, 11, 12, 13,

   12, 13, 14, 15, 16, 17,

   16, 17, 18, 19, 20, 21,

   20, 21, 22, 23, 24, 25,

   24, 25, 26, 27, 28, 29,

   28, 29, 30, 31, 32,  1};

int S_BOX[8][4][16] = {

{  

{14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7},  

{0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8},  

{4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0}, 

{15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13} 

},

{  

{15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10},  

{3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5}, 

{0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15},  

{13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9}  

}, 

{  

{10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8},  

{13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1},  

{13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7},  

{1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12}  

}, 

{  

{7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15},  

{13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9},  

{10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4},  

{3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14}  

},

{  

{2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9},  

{14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6},  

{4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14},  

{11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3}  

},

{  

{12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11},  

{10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8},  

{9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6},  

{4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13}  

}, 

{  

{4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1},  

{13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6},  

{1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2},  

{6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12}  

}, 

{  

{13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7},  

{1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2},  

{7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8},  

{2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11}  

};

int P[] = {16,  7, 20, 21,

   29, 12, 28, 17,

    1, 15, 23, 26,

    5, 18, 31, 10,

    2,  8, 24, 14,

   32, 27,  3,  9,

   19, 13, 30,  6,

   22, 11,  4, 25 };

bitset32 f(bitset32 R, bitset48 k)

{

bitset48 expandR;

// 第一步:扩展置换,32 - 48

for(int i=0; i48; ++i)

expandR[47-i] = R[32-E[i]];

// 第二步:异或

expandR = expandR ^ k;

// 第三步:查找S_BOX置换表

bitset32 output;

int x = 0;

for(int i=0; i48; i=i+6)

{

int row = expandR[47-i]*2 + expandR[47-i-5];

int col = expandR[47-i-1]*8 + expandR[47-i-2]*4 + expandR[47-i-3]*2 + expandR[47-i-4];

int num = S_BOX[i/6][row][col];

bitset4 binary(num);

output[31-x] = binary[3];

output[31-x-1] = binary[2];

output[31-x-2] = binary[1];

output[31-x-3] = binary[0];

x += 4;

}

// 第四步:P-置换,32 - 32

bitset32 tmp = output;

for(int i=0; i32; ++i)

output[31-i] = tmp[32-P[i]];

return output;

}

bitset28 leftShift(bitset28 k, int shift)

{

bitset28 tmp = k;

for(int i=27; i=0; --i)

{

if(i-shift0)

k[i] = tmp[i-shift+28];

else

k[i] = tmp[i-shift];

}

return k;

}

void generateKeys() 

{

bitset56 realKey;

bitset28 left;

bitset28 right;

bitset48 compressKey;

// 去掉奇偶标记位,将64位密钥变成56位

for (int i=0; i56; ++i)

realKey[55-i] = key[64 - PC_1[i]];

// 生成子密钥,保存在 subKeys[16] 中

for(int round=0; round16; ++round) 

{

// 前28位与后28位

for(int i=28; i56; ++i)

left[i-28] = realKey[i];

for(int i=0; i28; ++i)

right[i] = realKey[i];

// 左移

left = leftShift(left, shiftBits[round]);

right = leftShift(right, shiftBits[round]);

// 压缩置换,由56位得到48位子密钥

for(int i=28; i56; ++i)

realKey[i] = left[i-28];

for(int i=0; i28; ++i)

realKey[i] = right[i];

for(int i=0; i48; ++i)

compressKey[47-i] = realKey[56 - PC_2[i]];

subKey[round] = compressKey;

}

}

bitset64 charToBitset(const char s[8])

{

bitset64 bits;

for(int i=0; i8; ++i)

for(int j=0; j8; ++j)

bits[i*8+j] = ((s[i]j)  1);

return bits;

}

bitset64 encrypt(bitset64 plain)

{

bitset64 cipher;

bitset64 currentBits;

bitset32 left;

bitset32 right;

bitset32 newLeft;

// 第一步:初始置换IP

for(int i=0; i64; ++i)

currentBits[63-i] = plain[64-IP[i]];

// 第二步:获取 Li 和 Ri

for(int i=32; i64; ++i)

left[i-32] = currentBits[i];

for(int i=0; i32; ++i)

right[i] = currentBits[i];

// 第三步:共16轮迭代

for(int round=0; round16; ++round)

{

newLeft = right;

right = left ^ f(right,subKey[round]);

left = newLeft;

}

// 第四步:合并L16和R16,注意合并为 R16L16

for(int i=0; i32; ++i)

cipher[i] = left[i];

for(int i=32; i64; ++i)

cipher[i] = right[i-32];

// 第五步:结尾置换IP-1

currentBits = cipher;

for(int i=0; i64; ++i)

cipher[63-i] = currentBits[64-IP_1[i]];

// 返回密文

return cipher;

}

bitset64 decrypt(bitset64 cipher)

{

bitset64 plain;

bitset64 currentBits;

bitset32 left;

bitset32 right;

bitset32 newLeft;

// 第一步:初始置换IP

for(int i=0; i64; ++i)

currentBits[63-i] = cipher[64-IP[i]];

// 第二步:获取 Li 和 Ri

for(int i=32; i64; ++i)

left[i-32] = currentBits[i];

for(int i=0; i32; ++i)

right[i] = currentBits[i];

// 第三步:共16轮迭代(子密钥逆序应用)

for(int round=0; round16; ++round)

{

newLeft = right;

right = left ^ f(right,subKey[15-round]);

left = newLeft;

}

// 第四步:合并L16和R16,注意合并为 R16L16

for(int i=0; i32; ++i)

plain[i] = left[i];

for(int i=32; i64; ++i)

plain[i] = right[i-32];

// 第五步:结尾置换IP-1

currentBits = plain;

for(int i=0; i64; ++i)

plain[63-i] = currentBits[64-IP_1[i]];

// 返回明文

return plain;

}

int main() {

string s = "romantic";

string k = "12345678";

bitset64 plain = charToBitset(s.c_str());

key = charToBitset(k.c_str());

// 生成16个子密钥

generateKeys();   

bitset64 cipher = encrypt(plain);

fstream file1;

file1.open("D://a.txt", ios::binary | ios::out);

file1.write((char*)cipher,sizeof(cipher));

file1.close();

bitset64 temp;

file1.open("D://a.txt", ios::binary | ios::in);

file1.read((char*)temp, sizeof(temp));

file1.close();

bitset64 temp_plain = decrypt(temp);

file1.open("D://b.txt", ios::binary | ios::out);

file1.write((char*)temp_plain,sizeof(temp_plain));

file1.close();

return 0;

}

如何利用DES加密的算法保护Java源代码

Java语言是一种非常适用于网络编程的语言,它的基本结构与C++极为相似,但抛弃了C/C++中指针等内容,同时它吸收了Smalltalk、C++面向对象的编程思想。它具有简单性、鲁棒性、可移植性、动态性等特点。这些特点使得Java成为跨平台应用开发的一种规范,在世界范围内广泛流传。 加密Java源码的原因 Java源代码经过编译以后在JVM中执行。由于JVM界面是完全透明的,Java类文件能够很容易通过反编译器重新转换成源代码。因此,所有的算法、类文件等都可以以源代码的形式被公开,使得软件不能受到保护,为了保护产权,一般可以有以下几种方法: (1)"模糊"类文件,加大反编译器反编译源代码文件的难度。然而,可以修改反编译器,使之能够处理这些模糊类文件。所以仅仅依赖"模糊类文件"来保证代码的安全是不够的。 (2)流行的加密工具对源文件进行加密,比如PGP(Pretty Good Privacy)或GPG(GNU Privacy Guard)。这时,最终用户在运行应用之前必须先进行解密。但解密之后,最终用户就有了一份不加密的类文件,这和事先不进行加密没有什么差别。 (3)加密类文件,在运行中JVM用定制的类装载器(Class Loader)解密类文件。Java运行时装入字节码的机制隐含地意味着可以对字节码进行修改。JVM每次装入类文件时都需要一个称为ClassLoader的对象,这个对象负责把新的类装入正在运行的JVM。JVM给ClassLoader一个包含了待装入类(例如java.lang.Object)名字的字符串,然后由ClassLoader负责找到类文件,装入原始数据,并把它转换成一个Class对象。 用户下载的是加密过的类文件,在加密类文件装入之时进行解密,因此可以看成是一种即时解密器。由于解密后的字节码文件永远不会保存到文件系统,所以窃密者很难得到解密后的代码。 由于把原始字节码转换成Class对象的过程完全由系统负责,所以创建定制ClassLoader对象其实并不困难,只需先获得原始数据,接着就可以进行包含解密在内的任何转换。 Java密码体系和Java密码扩展 Java密码体系(JCA)和Java密码扩展(JCE)的设计目的是为Java提供与实现无关的加密函数API。它们都用factory方法来创建类的例程,然后把实际的加密函数委托给提供者指定的底层引擎,引擎中为类提供了服务提供者接口在Java中实现数据的加密/解密,是使用其内置的JCE(Java加密扩展)来实现的。Java开发工具集1.1为实现包括数字签名和信息摘要在内的加密功能,推出了一种基于供应商的新型灵活应用编程接口。Java密码体系结构支持供应商的互操作,同时支持硬件和软件实现。 Java密码学结构设计遵循两个原则: (1)算法的独立性和可靠性。 (2)实现的独立性和相互作用性。 算法的独立性是通过定义密码服务类来获得。用户只需了解密码算法的概念,而不用去关心如何实现这些概念。实现的独立性和相互作用性通过密码服务提供器来实现。密码服务提供器是实现一个或多个密码服务的一个或多个程序包。软件开发商根据一定接口,将各种算法实现后,打包成一个提供器,用户可以安装不同的提供器。安装和配置提供器,可将包含提供器的ZIP和JAR文件放在CLASSPATH下,再编辑Java安全属性文件来设置定义一个提供器。Java运行环境Sun版本时, 提供一个缺省的提供器Sun。 下面介绍DES算法及如何利用DES算法加密和解密类文件的步骤。 DES算法简介 DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法。DES算法的入口参数有三个:Key、Data、Mode。

DES加密算法 java实现

/*

* DesEncrypt.java

*

* Created on 2007-9-20, 16:10:47

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/

//思路: 因为 任意一个字符串,都是由若干字节表示的,每个字节实质就是一个

// 有8位的进进制数,

// 又因为 一个8位二进制数,可用两位16进制字符串表示.

// 因此 任意一个字符串可以由两位16进制字符串表示。

// 而 DES是对8位二进制数进行加密,解密。

// 所以 用DES加密解密时,可以把加密所得的8位进进制数,转成

// 两位16进制数进行保存,传输。

// 具体方法:1 把一个字符串转成8位二进制数,用DES加密,得到8位二进制数的

// 密文

// 2 然后把(由1)所得的密文转成两位十六进制字符串

// 3 解密时,把(由2)所得的两位十六进制字符串,转换成8位二进制

// 数的密文

// 4 把子3所得的密文,用DES进行解密,得到8位二进制数形式的明文,

// 并强制转换成字符串。

// 思考:为什么要通过两位16进制数字符串保存密文呢?

// 原因是:一个字符串加密后所得的8位二进制数,通常不再时字符串了,如果

// 直接把这种密文所得的8位二进制数强制转成字符串,有许多信息因为异

// 常而丢失,导制解密失败。因制要把这个8位二制数,直接以数的形式

// 保存下来,而通常是用两位十六进制数表示。

package frelationmainten;

import java.security.Key;

import java.security.SecureRandom;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

/**

*

* 使用DES加密与解密,可对byte[],String类型进行加密与解密

* 密文可使用String,byte[]存储.

*

* 方法:

* void getKey(String strKey)从strKey的字条生成一个Key

*

* String getEncString(String strMing)对strMing进行加密,返回String密文

* String getDesString(String strMi)对strMin进行解密,返回String明文

*

*byte[] getEncCode(byte[] byteS)byte[]型的加密

*byte[] getDesCode(byte[] byteD)byte[]型的解密

*/

public class DesEncrypt {

Key key;

/**

* 根据参数生成KEY

* @param strKey

*/

public void getKey(String strKey) {

try{

KeyGenerator _generator = KeyGenerator.getInstance("DES");

_generator.init(new SecureRandom(strKey.getBytes()));

this.key = _generator.generateKey();

_generator=null;

}catch(Exception e){

e.printStackTrace();

}

}

/**

* 加密String明文输入,String密文输出

* @param strMing

* @return

*/

public String getEncString(String strMing) {

byte[] byteMi = null;

byte[] byteMing = null;

String strMi = "";

try {

return byte2hex(getEncCode (strMing.getBytes() ) );

// byteMing = strMing.getBytes("UTF8");

// byteMi = this.getEncCode(byteMing);

// strMi = new String( byteMi,"UTF8");

}

catch(Exception e){

e.printStackTrace();

}

finally {

byteMing = null;

byteMi = null;

}

return strMi;

}

/**

* 解密 以String密文输入,String明文输出

* @param strMi

* @return

*/

public String getDesString(String strMi) {

byte[] byteMing = null;

byte[] byteMi = null;

String strMing = "";

try {

return new String(getDesCode(hex2byte(strMi.getBytes()) ));

// byteMing = this.getDesCode(byteMi);

// strMing = new String(byteMing,"UTF8");

}

catch(Exception e) {

e.printStackTrace();

}

finally {

byteMing = null;

byteMi = null;

}

return strMing;

}

/**

* 加密以byte[]明文输入,byte[]密文输出

* @param byteS

* @return

*/

private byte[] getEncCode(byte[] byteS) {

byte[] byteFina = null;

Cipher cipher;

try {

cipher = Cipher.getInstance("DES");

cipher.init(Cipher.ENCRYPT_MODE, key);

byteFina = cipher.doFinal(byteS);

}

catch(Exception e) {

e.printStackTrace();

}

finally {

cipher = null;

}

return byteFina;

}

/**

* 解密以byte[]密文输入,以byte[]明文输出

* @param byteD

* @return

*/

private byte[] getDesCode(byte[] byteD) {

Cipher cipher;

byte[] byteFina=null;

try{

cipher = Cipher.getInstance("DES");

cipher.init(Cipher.DECRYPT_MODE, key);

byteFina = cipher.doFinal(byteD);

}catch(Exception e){

e.printStackTrace();

}finally{

cipher=null;

}

return byteFina;

}

/**

* 二行制转字符串

* @param b

* @return

*/

public static String byte2hex(byte[] b) { //一个字节的数,

// 转成16进制字符串

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;

}

return hs.toUpperCase(); //转成大写

}

public static byte[] hex2byte(byte[] b) {

if((b.length%2)!=0)

throw new IllegalArgumentException("长度不是偶数");

byte[] b2 = new byte[b.length/2];

for (int n = 0; n b.length; n+=2) {

String item = new String(b,n,2);

// 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节

b2[n/2] = (byte)Integer.parseInt(item,16);

}

return b2;

}

public static void main(String[] args){

System.out.println("hello");

DesEncrypt des=new DesEncrypt();//实例化一个对像

des.getKey("aadd");//生成密匙

String strEnc = des.getEncString("云海飞舞云122");//加密字符串,返回String的密文

System.out.println(strEnc);

String strDes = des.getDesString(strEnc);//把String 类型的密文解密

System.out.println(strDes);

new DesEncrypt();

}

}

des加密源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于des加密算法c代码、des加密源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/31483.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载