Heim >Datenbank >MySQL-Tutorial >Java版Mysql4.1之前的old_password加密算法

Java版Mysql4.1之前的old_password加密算法

WBOY
WBOYOriginal
2016-06-07 16:15:461278Durchsuche

Java版Mysql4.1之前的old_password加密算法。 package mytest;public class MySQLOldPassword {public String getMySQLPassword(String password) {long nr = 1345345333L, add = 7, nr2 = 0x12345671L;long tmp = 0;for (int i = 0; i password.length(); i+

Java版Mysql4.1之前的old_password加密算法。
package mytest;

public class MySQLOldPassword {
	public String getMySQLPassword(String password) {
		long nr = 1345345333L, add = 7, nr2 = 0x12345671L;
		long tmp = 0;
		for (int i = 0; i < password.length(); i++) {
			tmp = password.charAt(i);
			if (tmp == ' ' || tmp == '\t') {
				continue;
			}
			nr ^= (((nr & 63) + add) * tmp) + (nr << 8);
			nr2 += (nr2 << 8) ^ nr;
			add += tmp;
		}
		long result_1 = nr & (((long) 1L << 31) - 1L);
		long result_2 = nr2 & (((long) 1L << 31) - 1L);

		String str1 = Long.toHexString(result_1);
		String str2 = Long.toHexString(result_2);
		return str1.concat(str2);
	}

	public static void main(String args[]) {
		System.out.print(new MySQLOldPassword().getMySQLPassword("qq123456"));
	}
}


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn