`
sdustyongz
  • 浏览: 89562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

加密123

 
阅读更多
/**
* 加密传输时的密码
* @author weirhp@gmail.com
*    http://weibo.com/weirhp
*/
public class EncodeQQPass {

    public static void main(String[] args) {
        System.out.println(encodePass("yourpass", "!CEY",
                "\\x00\\x00\\x00\\x00\\x35\\x33\\x5f\\x58"));
    }

    public static String encodePass(String password, String vcode, String uin) {
        String[] us = uin.split("\\\\x");
        byte[] uinByte = new byte[us.length - 1];
        if (us.length == 9) {
            for (int i = 1; i < us.length; i++) {
                uinByte[i - 1] = getByte(Integer.parseInt(us[i], 16));
            }
        }
        return md5(md5(getByte(hexchar2bin(md5(password)), uinByte))
                + vcode.toUpperCase());
    }

    public static String md5(byte[] source) {
        String s = null;
        char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                'a', 'b', 'c', 'd', 'e', 'f' };
        try {
            java.security.MessageDigest md = java.security.MessageDigest
                    .getInstance("MD5");
            md.update(source);
            byte tmp[] = md.digest();
            char str[] = new char[16 * 2];
            int k = 0;
            for (int i = 0; i < 16; i++) {
                byte byte0 = tmp[i];
                str[k++] = hexDigits[byte0 >>> 4 & 0xf];
                str[k++] = hexDigits[byte0 & 0xf];
            }
            s = new String(str);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return s.toUpperCase();
    }

    public static String md5(String str) {
        return md5(str.getBytes()).toUpperCase();
    }

    public static byte[] hexchar2bin(String str) {
        byte[] bytes = new byte[str.length() / 2];
        int j = 0;
        for (int i = 0; i < str.length(); i = i + 2) {
            int iv = Integer.parseInt(str.substring(i, i + 2), 16);
            bytes[j++] = getByte(iv);
        }
        return bytes;
    }

    public static byte getByte(int intValue) {
        int byteValue = 0;
        int temp = intValue % 256;
        if (intValue < 0) {
            byteValue = temp < -128 ? 256 + temp : temp;
        } else {
            byteValue = temp > 127 ? temp - 256 : temp;
        }
        return (byte) byteValue;
    }

    public static byte[] getByte(byte[] b1, byte[] b2) {
        byte[] bs = new byte[b1.length + b2.length];
        int i = 0;
        for (i = 0; i < b1.length; i++) {
            bs[i] = b1[i];
        }
        for (int j = 0; j < b2.length; j++) {
            bs[i + j] = b2[j];
        }
        return bs;
    }
}
分享到:
评论

相关推荐

    Android加密之全盘加密详解

    其中,加密又分全盘加密(Android 4.4 引入)和文件级加密(Android 7.0 引入),本文将论述加密中的全盘加密的基本知识。全盘加密在 Android 4.4 中引入,在 Android 5.0 中做了比较大的更新。 本文部分片段摘自 ...

    企业级程序苏林加密系统 php加密的程序源码 sg11加密 xend加密 goto加密等

    苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某加密价格,支持API接口加密,对接官方支付、码支付和易支付。 更新记录:...

    常见加密算法方式(对称加密和非对称加密)

    在实际操作中,经常采用混合加密模式:利用非对称加密算法交换对称加密算法的密钥,再利用对称加密算法加密实际数据,从而结合两种加密算法的优点。 总之,加密算法是信息安全领域的基石,合理选择和使用加密算法...

    易语言 rsa加密 易语言 rsa加密易语言 rsa加密

    易语言 rsa加密 易语言 rsa加密易语言 rsa加密

    加密记事本 加密记事本加密记事本

    加密记事本加密记事本加密记事本加密记事本

    对称加密 非对称加密 需要的jar包

    在IT安全领域,加密技术是保护数据隐私和安全的关键手段。加密主要分为两种类型:对称加密和非对称加密。这两种加密方式各有其特点,适用于不同的场景。 **对称加密** 是一种历史悠久的加密方法,它依赖于一个相同...

    POST提交数据加密

    在这个场景中,我们关注的是如何加密POST请求中的数据,以及如何通过工具如HttpWatch来查看这些加密数据。下面我们将深入探讨POST提交数据加密的原理、方法以及HttpWatch工具的使用。 首先,POST方法是HTTP协议中...

    代理重加密代码

    代理重加密(Proxy Re-Encryption)是一种在公钥加密系统中的高级加密技术,它允许一个可信的第三方(代理)在不获取原始密文内容的情况下,将一个用户加密的信息重加密成另一个用户能解密的形式。这项技术在云计算...

    手动加密测试脚本_加密_encryption_测试加密_

    在IT领域,加密技术是确保数据安全的重要手段。本文将深入探讨手动加密测试脚本以及其在加密(encryption)和测试加密过程中的应用。加密算法是实现数据安全的基础,它们可以有效地解决透明加解密的问题,使敏感信息...

    苏林加密系统_php加密程序源码_企业级程序.zip

    苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某加密价格,支持API接口加密,对接官方支付、码支付和易支付。 更新记录:...

    私房文件夹加密软件文件加密大师

    私房文件夹加密软件,保护您的重要文件和隐私安全文件夹加密、U盘加密、硬盘加密、移动硬盘加密、硬盘分区隐藏... 本软件全部能搞定。 快速下载:http://pan.baidu.com/s/1282Jn http://www.xzzcg.com/2040.html ...

    迅影加密王文件夹加密软件

    迅影加密王是采用最新(AES256位)高强度加密算法的加密软件, 迅影 加密王将在您计算机磁盘中 的部分区域进行加密,并生成一个保险柜,将文件数据存放保险柜中即可加密,只有当用户使用自己的密码登录保险柜后才能浏览...

    U盘加密软件移动硬盘加密-文件夹加密器lockdir.rar

    U盘加密软件移动硬盘加密-文件夹加密器lockdir 便携式文件夹加密器是一款高强度的文件夹加密软件,可以方便地加密任意文件夹,并且支持U盘加密,移动硬盘加密. 本软件界面简洁,操作简单,功能强大,性能超群,是...

    DES 加密,RSA 加密,DES 文件加密

    在IT领域,加密技术是确保数据安全的重要手段。本文将深入探讨标题中提及的两种主要加密算法:DES(Data Encryption Standard)和RSA,并介绍如何利用它们对文件进行加密。我们将结合描述中的“提供了方便文件加密...

    易飞用户加密解密

    《易飞用户加密解密详解》 在信息技术领域,数据安全是至关重要的议题,而用户加密解密技术正是保障信息安全的重要手段。本文将围绕“易飞用户加密解密”这一主题,深入探讨其原理、应用及操作流程,帮助读者更好地...

    使用java自带des加密算法实现文件加密和字符串加密

    主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下

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

    在VB6.0环境下开发的这个程序主要关注的是数据安全领域,特别是文件的加密与解密功能。VB(Visual Basic)是一种由微软公司推出的事件驱动编程语言,它以其易用性和丰富的控件库深受程序员喜爱。在这个特定的项目中...

    C#加密解密DeEncryptHelper.zip

    单向加密 SHA1 单向加密 DES 双向,可解密 加密字符串 加密字符串 密钥为系统默认 加密文件 解密字符串 解密文件 128位MD5算法加密字符串 128位MD5算法加密Byte数组 32位MD5加密 Base64加密 Base64解密 DES加密/解密...

    Springboot项目报文加密(采用AES、RSA动态加密策略)

    Springboot项目报文加密(采用AES、RSA动态加密策略) Springboot项目报文加密(采用AES、RSA动态加密策略) Springboot项目报文加密(采用AES、RSA动态加密策略) Springboot项目报文加密(采用AES、RSA动态加密...

Global site tag (gtag.js) - Google Analytics