`

加密解密类之一

    博客分类:
  • java
 
阅读更多

/**
* 加密;
*/
public static String encrypt(String value){
String key = getLimStr("ABCDEHIJKLMNOPQRSTUVWSVZ123456789",24);
String encryptString = null;
if(value!=null){
encryptString =  desEncrypt(key, value);
}
return encryptString;
}

/**
* 解密;
*/
public static String decrypt(String value){
String key = getLimStr("ABCDEHIJKLMNOPQRSTUVWSVZ123456789",24);
String decryptString = null;
if(value!=null){
decryptString = desDecrypt(key, value);
}
return decryptString;
}

/**
* 信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。
* md5算法一般是明文和另外一个字符串key相加再加密
* 输出固定32位
*/
@SuppressWarnings("unused")
private static String md5Encypt(String key,String src){
MessageDigest alg;
try {
alg = MessageDigest.getInstance("MD5");
alg.update((key+src).getBytes());
return byteArrayToHexString(alg.digest());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;

}


/**
* 3DES加密
* @param key密钥字符串 长度为24字节
* @param src明文字符串
* @return 密文字符串
*/
private static String desEncrypt(String key, String src){
byte[] b=desEncrypt(genDESKey(key.getBytes()), src.getBytes());
return byteArrayToHexString(b);
}


/**
* 3DES解密
* @param key 密钥字符串
* @param crypt密文字符串
* @return 明文字符串
*/
private static String desDecrypt(String key, String crypt){
byte[] b=desDecrypt(genDESKey(key.getBytes()), hexStringToBytes(crypt));
return new String(b);
}

/**
* 3DES加密(byte[]).
*/
private static byte[] desEncrypt(SecretKey key, byte[] src){
try {
Cipher cipher = Cipher.getInstance("DESede");
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(src);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
分享到:
评论

相关推荐

    Qt实现AES加密解密

    在IT领域,加密技术是确保数据安全的重要手段之一。AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,因其高效性和安全性而被广泛采纳。本文将深入探讨如何使用Qt库来实现AES加密与解密,并重点...

    RSA加密解密工具,用于文件的加密和解密* RSA加密解密:私钥解密,公钥加密

    在本压缩包中,提供了RSA加密解密的工具——PRO_TDES_RSA.exe,这是一个执行程序,能够帮助用户对文件进行加密和解密操作。结合"RSATool工具简易操作指南 .doc",用户可以详细了解如何使用这个工具来保护他们的敏感...

    QT好用的加密解密类:SimpleCrypt 完整工程参考例子

    SimpleCrypt是一个在QT平台上非常实用的加密解密类库,它提供了一种简单且高效的方式来处理敏感信息的安全存储。本篇文章将深入探讨SimpleCrypt的使用方法,并提供一个完整的工程参考例子。 首先,SimpleCrypt是...

    加密解密的原理 加密解密的原理

    虽然示例代码提供了一个简单的加密解密过程,但在实际应用中可能存在以下不足之处,需要进行改进: 1. **安全性提升**:由于仅仅采用了Base64编码,这种加密方式很容易被破解。为了提高安全性,建议采用更强大的...

    DES加密解密类

    ### DES加密解密类知识点详解 #### 一、概述 数据加密标准(Data Encryption Standard,简称DES)是一种对称加密算法,广泛应用于信息安全领域。它最初由IBM开发,并于1977年被美国国家标准局采纳为官方标准。DES...

    vb.net加密解密源代码

    综上所述,这个"vb.net加密解密源代码"项目可能是基于以上提到的加密算法之一实现的,通过VS2008进行开发,提供了加密和解密功能。学习和理解这些知识点,对于提升VB.NET编程中的安全性和数据保护能力大有裨益。

    Unity 工具类 之 简单的数据加密解密类 DataEncryptionAndDecryptionManager 实现

    Unity 工具类 之 简单的数据加密解密类 DataEncryptionAndDecryptionManager 实现 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security in...

    VB6加密解密算法,支持文件加密解密

    综上所述,VB6的这个加密解密程序是一个实用的工具,结合了DES和AES这两种强大的加密算法,支持用户自定义密钥,且具备文件级别的加密解密功能。它不仅提供了基本的数据安全措施,而且在VB6环境中易于理解和使用,...

    加密解密字符串的例子

    这个压缩包文件中的"加密解密字符串的例子"很可能是提供了一个关于如何在编程中实现字符串加密和解密的示例。接下来,我们将深入探讨加密解密的基础知识以及可能涉及的技术。 1. 加密解密原理: 加密是将明文(可...

    qt5AES加密,ES加密/解密算法是一种可逆的对称加密算法,这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推

    这个文件可能包含了实现AES加密解密功能的源代码、示例、文档或其他相关资源,帮助开发者在Qt5应用程序中集成AES加密。 **总结** AES加密算法是现代加密的标准之一,常用于保护数据的安全。在Qt5开发中,可以方便...

    xml加密解密工具XMLEncryption

    xml加密(XML Encryption)是w3c加密xml的标准。...不管xml加密是如何完成的,保存加密数据总是用两种方法之一。 1、加密后所有的元素都被命名为 2、加密后只有数据被替换,而元素名称仍然是可读的,不会发生变化。

    AES加密解密实验报告

    自2001年被美国国家标准与技术研究院(NIST)发布以来,AES已成为对称密钥加密中最广泛使用的算法之一。AES的核心特点包括固定128位的块大小和128、192或256位的密钥大小。该算法具有高效、安全、灵活以及易于实现的...

    全能文件加密解密源码.zip

    【压缩包子文件的文件名称列表】中的"加密解密"可能是源代码文件夹或主程序文件的名字,里面可能包含了实现加密和解密操作的类、函数以及示例代码。 总的来说,这个压缩包提供了一个实用的C#文件加密解密工具的源...

    C# .net版 RSA 公钥加密私钥解密 私钥加密公钥解密

    在IT行业中,加密技术是确保数据安全的重要手段之一。RSA是一种非对称加密算法,它基于数学难题的大数因子分解,由Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出,因此得名RSA。本教程主要讲解如何在C# .NET...

    VB字符串加密解密

    VB.NET中的System.Security.Cryptography.RSACryptoServiceProvider类可以帮助我们实现RSA加密解密。 七、字符串处理 在加密解密过程中,通常需要将字符串转换为字节数组,因为加密算法通常作用于字节而不是字符。...

    C#实现AES加密解密算法

    2. **AES**:一种对称加密算法,被广泛认为是目前最安全的加密方式之一。 3. **密钥**:用于加密或解密数据的一串字符。 4. **初始化向量(IV)**:在某些加密模式下,除了密钥之外还需要一个初始化向量来增加加密的...

    xxtea/aes加密解密工具

    AES,即高级加密标准,是目前广泛使用的对称加密算法之一,取代了之前的DES标准。AES支持128、192和256位的密钥长度,块大小固定为128位。其加密过程由多个不同的步骤组成,包括子密钥生成、字节替换、行移位、列...

    C# AES加密解密小工具

    在IT领域,加密技术是确保数据安全的重要手段之一。AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,尤其在软件开发中,用于保护敏感信息,如用户密码、隐私数据等。本项目“C# AES加密解密小...

    android实现视频的加密和解密(使用AES)

    其中,AES 算法是最常用的加密算法之一。 AES 算法在 Android 中的应用 AES 算法是一种对称加密算法,即加密和解密都使用同一个密钥。在 Android 中,我们可以使用 Java 语言来实现 AES 算法的加密和解密。 例如...

    pb加密解密哈希库

    动态链接库(Dynamic Link Library,简称DLL)是Windows操作系统中实现共享函数库的方式之一,它可以被多个程序同时调用,提高了软件的模块化和代码的复用性。pb加密解密哈希库正是这样一个DLL文件,它能被不同的...

Global site tag (gtag.js) - Google Analytics