/**
* 加密者
*
* @time: 2007-8-29 下午05:45:36
*/
public final class Encrypter {
private static Cipher ecipher;
private static Cipher dcipher;
// 必须24个字符
private static final String key = "*:@1$7!a*:@1$7!a*:@1$7!^";
private static final String alg = "DESede";
static {
try {
SecretKey skey = new SecretKeySpec(key.getBytes(), alg);
ecipher = Cipher.getInstance(alg);
dcipher = Cipher.getInstance(alg);
ecipher.init(Cipher.ENCRYPT_MODE, skey);
dcipher.init(Cipher.DECRYPT_MODE, skey);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 加密字符串
*
* @param str
* @return
*/
public static String encrypt(String str) {
if (str == null)
return "";
try {
// Encode the string into bytes using utf-8
byte[] utf8 = str.getBytes("UTF8");
// Encrypt
byte[] enc = ecipher.doFinal(utf8);
// Encode bytes to base64 to get a string
return Base64Support.toUrlStr(enc);
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
/**
* 解密字符串
*
* @param str
* @return
*/
public static String decrypt(String str) {
if (str == null)
return "";
try {
// Decode base64 to get bytes
byte[] dec = Base64Support.fromUrlStr(str);
// Decrypt
byte[] utf8 = dcipher.doFinal(dec);
// Decode using utf-8
return new String(utf8, "UTF8");
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static void main(String[] args) {
System.out.println(encrypt("google"));
}
}
分享到:
相关推荐
为实现我设计的私钥加密算法而开发的 Java 桌面应用程序。 这种私钥加密算法使用实值多项式来加密密文中的每个字符。 多项式采用五个参数来加密每个字符。 此外,无理数的扩展(通过连分数)已被用于诱导参数之一的...
指定加密算法,如AES-128。选择加密模式(元素或全文档),并提供公钥或密钥对。加密完成后,替换或附加加密数据到XML文档。 5. 博客联系: 提供的描述提到有问题可以在博客上联系,这可能意味着作者分享了更详细...
该应用程序使用多种算法来加密和解密HTML源代码: 河豚 AES 茶 兔子 马克4 转义/逃生功能 除了加密和解密功能,该应用程序还返回网站的源代码。 用户可以使用FTP传输功能将加密的文件上传到他或她的个人网站。 其他...
这里提到的加密过程可能采用了某种加密算法,例如AES(高级加密标准)或RSA,这些算法能够将原始数据转化为无法轻易理解的密文,除非拥有正确的解密密钥。 HTML标签通常与网页开发有关,但在这个上下文中,它可能是...
java -jar little-encrypter-app.jar 已知问题 问题一:应用抛出 InvalidKeyException: Illegal key size or default parameters 解决方法:下载 ,将其内容解压到$JAVA_HOME/jre/lib/security/ 问题 2:Eclipse...
1. **源代码**(可能使用Python、Java或其他编程语言):实现加密算法和用户界面的代码。 2. **README**文件:介绍项目的详细信息,使用方法,安装指南等。 3. **示例**或**测试文件**:用于展示软件如何工作的样例...
AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,用于保护数据安全。开发者可能需要这样的工具来加密敏感信息,如数据库密码或用户数据。Java提供内置的javax.crypto包来实现AES加密,通过定义...
2. **Java加密API**:Java提供了一个强大的加密API,即`javax.crypto`包,包含了多种加密算法的支持,如DES、AES等。`Cipher`类是核心,用于实现加密和解密操作。`KeyGenerator`用于生成密钥,而`SecretKeySpec`则...
在进行APP的测试时,有些App产生的请求有对参数进行加密处理,导致测试人员不能判断参数内容,修改参数值。 在知道具体算法的前提下,该插件可以实现请求参数的自动加解密操作,方便测试。 插件特性: 1.可以控制...
6. **配置设置**:项目可能包含一个配置文件,用于设定哪些属性需要加密,以及使用哪种加密算法。用户可以根据自己的需求自定义这些设置。 7. **依赖注入**:Laravel支持依赖注入,这使得在任何需要加密服务的地方...
- **构造方法**:在实例化`Encrypter`时,会检查提供的密钥和所选的加密算法是否兼容。`supported`静态方法确保了密钥长度与加密算法匹配。 - **`encrypt`方法**:加密方法首先对输入值进行处理,然后使用OpenSSL...
总的来说,xxteac是一个基于XXTEA加密算法的开源软件,它提供了一个加密和解密的工具,适用于那些寻求轻量级加密解决方案的用户。开源社区的参与和贡献使得该软件能够保持更新和改进,尽管在当今的安全环境中,XXTEA...
Bork的加密算法是基于现代密码学的,通常包括对称加密方法,如AES(高级加密标准),这种算法提供了高强度的安全性,能有效防止未授权的访问。对称加密意味着加密和解密使用的是同一密钥,这使得过程更为快速高效,...
首先,`simple-encryptor`利用了Java的强大功能,特别是其在处理加密算法方面的库。Java提供了诸如`javax.crypto`这样的标准加密库,它包含了各种加密和解密算法,如AES(高级加密标准)、RSA(公钥加密算法)等。...
Resign 插件的界面允许用户设置签名算法,而 Para Encrypter 则用于处理加密参数。两款插件都支持“发送到”功能,可以方便地将请求发送到插件进行处理。 此外,该插件还能与 SQLMap 工具无缝集成。通过设置 SQLMap...
为了保护用户密码的安全性,系统采用了MD5加密算法。在Java中,MD5算法可以通过`java.security.MessageDigest`类实现。在用户注册时,原始密码会通过MD5加密后存储在数据库中,登录时再对输入的密码进行同样的MD5...