Encrypt.java 2.39 KB
Newer Older
yuquan.zhu committed
1 2 3 4
package cn.timer.api.utils;

import java.io.UnsupportedEncodingException;

邓实川 committed
5
//import org.apache.shiro.crypto.hash.SimpleHash;
yuquan.zhu committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

/**
 * 
 * @ClassName: Encrypt
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author TZQ chess222_com
 * @date 2019年3月2日 下午12:31:49
 *
 */
public class Encrypt {
	/*
	 * 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,
	 * 常见的散列算法如MD5、SHA等。一般进行散列时最好提供一个salt(盐),比如加密密码“admin”,
	 * 产生的散列值是“21232f297a57a5a743894a0e4a801fc3”, 可以到一些md5解密网站很容易的通过散列值得到密码“admin”,
	 * 即如果直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,
	 * 如用户名和ID(即盐);这样散列的对象是“密码+用户名+ID”,这样生成的散列值相对来说更难破解。
	 */
	// 高强度加密算法,不可逆
	/**
	 * 
	 * @Title: Encrypt
	 * @Description: TODO(这里用一句话描述这个方法的作用)
	 * @param
	 * @param password
	 * @param salt
	 * @return
	 */
邓实川 committed
33 34 35 36 37
//	public static String md5(String password, String salt) {
//
//		Object tokenCredentials = new SimpleHash("md5", password, salt, 2).toHex();
//		return (String) tokenCredentials;
//	}
yuquan.zhu committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

	public static String myEncode(String str) throws UnsupportedEncodingException {
		byte[] strBytes = str.getBytes("utf-8");
		byte[] newStrByte = new byte[strBytes.length];
		for (int i = 0; i < strBytes.length; i++) {
			newStrByte[i] = (byte) (strBytes[i] ^ 0x01);
		}
		return new String(newStrByte);
	}

	public static String myEncode1(String str) throws UnsupportedEncodingException {
		byte[] strBytes = str.getBytes("utf-8");
		byte[] newStrByte = new byte[strBytes.length];
		for (int i = 0; i < strBytes.length; i++) {
			newStrByte[i] = (byte) (strBytes[i] ^ 0x01);
		}
		return new String(newStrByte);
	}

	public static String myEncode2(Integer i) {

		char[] cs = String.valueOf(i).toCharArray();
		String aString = "";
		int i1 = 0;
		for (char c : cs) {
			i1 += c;
		}

		for (char c : cs) {
			i1 += c;
		}

		System.out.println(i1);

		return aString;
	}

	public static void main(String[] args) {
		char a = 49;
		int i = '1';
		System.out.println(a);
		System.out.println(i);

		System.out.println(myEncode2(105000));

	}

}