`
bo_hai
  • 浏览: 564269 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA Encrypter 加密算法

阅读更多
/**
 * 加密者
 * 
 * @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"));
    }

}

 

0
3
分享到:
评论

相关推荐

    Encrypter:我设计的一个私钥加密算法的实现

    为实现我设计的私钥加密算法而开发的 Java 桌面应用程序。 这种私钥加密算法使用实值多项式来加密密文中的每个字符。 多项式采用五个参数来加密每个字符。 此外,无理数的扩展(通过连分数)已被用于诱导参数之一的...

    sign_and_encrypter.rar

    指定加密算法,如AES-128。选择加密模式(元素或全文档),并提供公钥或密钥对。加密完成后,替换或附加加密数据到XML文档。 5. 博客联系: 提供的描述提到有问题可以在博客上联系,这可能意味着作者分享了更详细...

    aesjava源码-HTML-Encrypter:HTMLEncrypter被设计为可访问且易于使用的加密软件。此基于JavaHTML加密器使

    该应用程序使用多种算法来加密和解密HTML源代码: 河豚 AES 茶 兔子 马克4 转义/逃生功能 除了加密和解密功能,该应用程序还返回网站的源代码。 用户可以使用FTP传输功能将加密的文件上传到他或她的个人网站。 其他...

    Porn-Encrypter:它加密并隐藏您的色情文件夹

    这里提到的加密过程可能采用了某种加密算法,例如AES(高级加密标准)或RSA,这些算法能够将原始数据转化为无法轻易理解的密文,除非拥有正确的解密密钥。 HTML标签通常与网页开发有关,但在这个上下文中,它可能是...

    little-encrypter:一个小加密工具

    java -jar little-encrypter-app.jar 已知问题 问题一:应用抛出 InvalidKeyException: Illegal key size or default parameters 解决方法:下载 ,将其内容解压到$JAVA_HOME/jre/lib/security/ 问题 2:Eclipse...

    File_Encrypter

    1. **源代码**(可能使用Python、Java或其他编程语言):实现加密算法和用户界面的代码。 2. **README**文件:介绍项目的详细信息,使用方法,安装指南等。 3. **示例**或**测试文件**:用于展示软件如何工作的样例...

    java开发工具

    AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,用于保护数据安全。开发者可能需要这样的工具来加密敏感信息,如数据库密码或用户数据。Java提供内置的javax.crypto包来实现AES加密,通过定义...

    DesEncrypter.rar_加密解密_Java_

    2. **Java加密API**:Java提供了一个强大的加密API,即`javax.crypto`包,包含了多种加密算法的支持,如DES、AES等。`Cipher`类是核心,用于实现加密和解密操作。`KeyGenerator`用于生成密钥,而`SecretKeySpec`则...

    GUI_Burp_Extender_para_encrypter:Burp_Extender_para_encrypter

    在进行APP的测试时,有些App产生的请求有对参数进行加密处理,导致测试人员不能判断参数内容,修改参数值。 在知道具体算法的前提下,该插件可以实现请求参数的自动加解密操作,方便测试。 插件特性: 1.可以控制...

    Laravel开发-laravel-database-encryption

    6. **配置设置**:项目可能包含一个配置文件,用于设定哪些属性需要加密,以及使用哪种加密算法。用户可以根据自己的需求自定义这些设置。 7. **依赖注入**:Laravel支持依赖注入,这使得在任何需要加密服务的地方...

    Laravel中encrypt和decrypt的实现方法

    - **构造方法**:在实例化`Encrypter`时,会检查提供的密钥和所选的加密算法是否兼容。`supported`静态方法确保了密钥长度与加密算法匹配。 - **`encrypt`方法**:加密方法首先对输入值进行处理,然后使用OpenSSL...

    xxteac - XXTEA Encrypter/Decrypter:xxteac-XXTEA加密器/解密器-开源

    总的来说,xxteac是一个基于XXTEA加密算法的开源软件,它提供了一个加密和解密的工具,适用于那些寻求轻量级加密解决方案的用户。开源社区的参与和贡献使得该软件能够保持更新和改进,尽管在当今的安全环境中,XXTEA...

    Bork File Encrypter-开源

    Bork的加密算法是基于现代密码学的,通常包括对称加密方法,如AES(高级加密标准),这种算法提供了高强度的安全性,能有效防止未授权的访问。对称加密意味着加密和解密使用的是同一密钥,这使得过程更为快速高效,...

    simple-encryptor:用于加密的简单 Rest API

    首先,`simple-encryptor`利用了Java的强大功能,特别是其在处理加密算法方面的库。Java提供了诸如`javax.crypto`这样的标准加密库,它包含了各种加密和解密算法,如AES(高级加密标准)、RSA(公钥加密算法)等。...

    burp插件分享:图形化版的重算sign和参数加解密插件1

    Resign 插件的界面允许用户设置签名算法,而 Para Encrypter 则用于处理加密参数。两款插件都支持“发送到”功能,可以方便地将请求发送到插件进行处理。 此外,该插件还能与 SQLMap 工具无缝集成。通过设置 SQLMap...

    JAVAEE课程设计--注册登录系统.pdf

    为了保护用户密码的安全性,系统采用了MD5加密算法。在Java中,MD5算法可以通过`java.security.MessageDigest`类实现。在用户注册时,原始密码会通过MD5加密后存储在数据库中,登录时再对输入的密码进行同样的MD5...

Global site tag (gtag.js) - Google Analytics