纯JAVA校验码生成

觉得不错拿来分享一下。

package ptest;

public class JymProduce {
	public String getGertWord(String paramString1, String paramString2, long paramLong,
			String paramString3, String paramString4) {
		llIIllIIIlIIllIl localllIIllIIIlIIllIl = new llIIllIIIlIIllIl();
		return localllIIllIIIlIIllIl.getGertWord(paramString1, paramString2, paramLong,
				paramString3, paramString4);
	}

	public static void main(String[] paramArrayOfString) {
		JymProduce localJymProduce = new JymProduce();
		System.out.println(localJymProduce.getGertWord("235051102210", "00002702", 1188L,
				"20110224", "00"));
	}
}

 

package ptest;

class IIIIIIIlIllIlIll
{
  static final int _$21 = 7;
  static final int _$20 = 12;
  static final int _$19 = 17;
  static final int _$18 = 22;
  static final int _$17 = 5;
  static final int _$16 = 9;
  static final int _$15 = 14;
  static final int _$14 = 20;
  static final int _$13 = 4;
  static final int _$12 = 11;
  static final int _$11 = 16;
  static final int _$10 = 23;
  static final int _$9 = 6;
  static final int _$8 = 10;
  static final int _$7 = 15;
  static final int _$6 = 21;
  static final byte[] _$5 = { -128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
  private long[] _$4 = new long[4];
  private long[] _$3 = new long[2];
  private byte[] _$2 = new byte[64];
  public String digestHexStr;
  private byte[] _$1 = new byte[16];

  public String getMD5ofStr(String paramString)
  {
    _$2();
    _$1(paramString.getBytes(), paramString.length());
    _$1();
    this.digestHexStr = "";
    for (int i = 0; i < 16; ++i)
      this.digestHexStr += byteHEX(this._$1[i]);
    return this.digestHexStr;
  }

  public IIIIIIIlIllIlIll()
  {
    _$2();
  }

  private void _$2()
  {
    this._$3[0] = 0L;
    this._$3[1] = 0L;
    this._$4[0] = 1732584193L;
    this._$4[1] = -271733879L;
    this._$4[2] = -1732584194L;
    this._$4[3] = 271733878L;
  }

  private long _$4(long paramLong1, long paramLong2, long paramLong3)
  {
    return (paramLong1 & paramLong2 | (paramLong1 ^ 0xFFFFFFFF) & paramLong3);
  }

  private long _$3(long paramLong1, long paramLong2, long paramLong3)
  {
    return (paramLong1 & paramLong3 | paramLong2 & (paramLong3 ^ 0xFFFFFFFF));
  }

  private long _$2(long paramLong1, long paramLong2, long paramLong3)
  {
    return (paramLong1 ^ paramLong2 ^ paramLong3);
  }

  private long _$1(long paramLong1, long paramLong2, long paramLong3)
  {
    return (paramLong2 ^ (paramLong1 | paramLong3 ^ 0xFFFFFFFF));
  }

  private long _$4(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7)
  {
    paramLong1 += _$4(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7;
    paramLong1 = (int)paramLong1 << (int)paramLong6 | (int)paramLong1 >>> (int)(32L - paramLong6);
    paramLong1 += paramLong2;
    return paramLong1;
  }

  private long _$3(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7)
  {
    paramLong1 += _$3(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7;
    paramLong1 = (int)paramLong1 << (int)paramLong6 | (int)paramLong1 >>> (int)(32L - paramLong6);
    paramLong1 += paramLong2;
    return paramLong1;
  }

  private long _$2(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7)
  {
    paramLong1 += _$2(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7;
    paramLong1 = (int)paramLong1 << (int)paramLong6 | (int)paramLong1 >>> (int)(32L - paramLong6);
    paramLong1 += paramLong2;
    return paramLong1;
  }

  private long _$1(long paramLong1, long paramLong2, long paramLong3, long paramLong4, long paramLong5, long paramLong6, long paramLong7)
  {
    paramLong1 += _$1(paramLong2, paramLong3, paramLong4) + paramLong5 + paramLong7;
    paramLong1 = (int)paramLong1 << (int)paramLong6 | (int)paramLong1 >>> (int)(32L - paramLong6);
    paramLong1 += paramLong2;
    return paramLong1;
  }

  private void _$1(byte[] paramArrayOfByte, int paramInt)
  {
    int i;
    byte[] arrayOfByte = new byte[64];
    int j = (int)(this._$3[0] >>> 3) & 0x3F;
    if ((this._$3[0] += (paramInt << 3)) < paramInt << 3)
      this._$3[1] += 1L;
    this._$3[1] += (paramInt >>> 29);
    int k = 64 - j;
    if (paramInt >= k)
    {
      _$1(this._$2, paramArrayOfByte, j, 0, k);
      _$1(this._$2);
      for (i = k; i + 63 < paramInt; i += 64)
      {
        _$1(arrayOfByte, paramArrayOfByte, 0, i, 64);
        _$1(arrayOfByte);
      }
      j = 0;
    }
    else
    {
      i = 0;
    }
    _$1(this._$2, paramArrayOfByte, j, i, paramInt - i);
  }

  private void _$1()
  {
    byte[] arrayOfByte = new byte[8];
    _$1(arrayOfByte, this._$3, 8);
    int i = (int)(this._$3[0] >>> 3) & 0x3F;
    int j = (i < 56) ? 56 - i : 120 - i;
    _$1(_$5, j);
    _$1(arrayOfByte, 8);
    _$1(this._$1, this._$4, 16);
  }

  private void _$1(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt1, int paramInt2, int paramInt3)
  {
    for (int i = 0; i < paramInt3; ++i)
      paramArrayOfByte1[(paramInt1 + i)] = paramArrayOfByte2[(paramInt2 + i)];
  }

  private void _$1(byte[] paramArrayOfByte)
  {
    long l1 = this._$4[0];
    long l2 = this._$4[1];
    long l3 = this._$4[2];
    long l4 = this._$4[3];
    long[] arrayOfLong = new long[16];
    _$1(arrayOfLong, paramArrayOfByte, 64);
    l1 = _$4(l1, l2, l3, l4, arrayOfLong[0], 7L, -680876936L);
    l4 = _$4(l4, l1, l2, l3, arrayOfLong[1], 12L, -389564586L);
    l3 = _$4(l3, l4, l1, l2, arrayOfLong[2], 17L, 606105819L);
    l2 = _$4(l2, l3, l4, l1, arrayOfLong[3], 22L, -1044525330L);
    l1 = _$4(l1, l2, l3, l4, arrayOfLong[4], 7L, -176418897L);
    l4 = _$4(l4, l1, l2, l3, arrayOfLong[5], 12L, 1200080426L);
    l3 = _$4(l3, l4, l1, l2, arrayOfLong[6], 17L, -1473231341L);
    l2 = _$4(l2, l3, l4, l1, arrayOfLong[7], 22L, -45705983L);
    l1 = _$4(l1, l2, l3, l4, arrayOfLong[8], 7L, 1770035416L);
    l4 = _$4(l4, l1, l2, l3, arrayOfLong[9], 12L, -1958414417L);
    l3 = _$4(l3, l4, l1, l2, arrayOfLong[10], 17L, -42063L);
    l2 = _$4(l2, l3, l4, l1, arrayOfLong[11], 22L, -1990404162L);
    l1 = _$4(l1, l2, l3, l4, arrayOfLong[12], 7L, 1804603682L);
    l4 = _$4(l4, l1, l2, l3, arrayOfLong[13], 12L, -40341101L);
    l3 = _$4(l3, l4, l1, l2, arrayOfLong[14], 17L, -1502002290L);
    l2 = _$4(l2, l3, l4, l1, arrayOfLong[15], 22L, 1236535329L);
    l1 = _$3(l1, l2, l3, l4, arrayOfLong[1], 5L, -165796510L);
    l4 = _$3(l4, l1, l2, l3, arrayOfLong[6], 9L, -1069501632L);
    l3 = _$3(l3, l4, l1, l2, arrayOfLong[11], 14L, 643717713L);
    l2 = _$3(l2, l3, l4, l1, arrayOfLong[0], 20L, -373897302L);
    l1 = _$3(l1, l2, l3, l4, arrayOfLong[5], 5L, -701558691L);
    l4 = _$3(l4, l1, l2, l3, arrayOfLong[10], 9L, 38016083L);
    l3 = _$3(l3, l4, l1, l2, arrayOfLong[15], 14L, -660478335L);
    l2 = _$3(l2, l3, l4, l1, arrayOfLong[4], 20L, -405537848L);
    l1 = _$3(l1, l2, l3, l4, arrayOfLong[9], 5L, 568446438L);
    l4 = _$3(l4, l1, l2, l3, arrayOfLong[14], 9L, -1019803690L);
    l3 = _$3(l3, l4, l1, l2, arrayOfLong[3], 14L, -187363961L);
    l2 = _$3(l2, l3, l4, l1, arrayOfLong[8], 20L, 1163531501L);
    l1 = _$3(l1, l2, l3, l4, arrayOfLong[13], 5L, -1444681467L);
    l4 = _$3(l4, l1, l2, l3, arrayOfLong[2], 9L, -51403784L);
    l3 = _$3(l3, l4, l1, l2, arrayOfLong[7], 14L, 1735328473L);
    l2 = _$3(l2, l3, l4, l1, arrayOfLong[12], 20L, -1926607734L);
    l1 = _$2(l1, l2, l3, l4, arrayOfLong[5], 4L, -378558L);
    l4 = _$2(l4, l1, l2, l3, arrayOfLong[8], 11L, -2022574463L);
    l3 = _$2(l3, l4, l1, l2, arrayOfLong[11], 16L, 1839030562L);
    l2 = _$2(l2, l3, l4, l1, arrayOfLong[14], 23L, -35309556L);
    l1 = _$2(l1, l2, l3, l4, arrayOfLong[1], 4L, -1530992060L);
    l4 = _$2(l4, l1, l2, l3, arrayOfLong[4], 11L, 1272893353L);
    l3 = _$2(l3, l4, l1, l2, arrayOfLong[7], 16L, -155497632L);
    l2 = _$2(l2, l3, l4, l1, arrayOfLong[10], 23L, -1094730640L);
    l1 = _$2(l1, l2, l3, l4, arrayOfLong[13], 4L, 681279174L);
    l4 = _$2(l4, l1, l2, l3, arrayOfLong[0], 11L, -358537222L);
    l3 = _$2(l3, l4, l1, l2, arrayOfLong[3], 16L, -722521979L);
    l2 = _$2(l2, l3, l4, l1, arrayOfLong[6], 23L, 76029189L);
    l1 = _$2(l1, l2, l3, l4, arrayOfLong[9], 4L, -640364487L);
    l4 = _$2(l4, l1, l2, l3, arrayOfLong[12], 11L, -421815835L);
    l3 = _$2(l3, l4, l1, l2, arrayOfLong[15], 16L, 530742520L);
    l2 = _$2(l2, l3, l4, l1, arrayOfLong[2], 23L, -995338651L);
    l1 = _$1(l1, l2, l3, l4, arrayOfLong[0], 6L, -198630844L);
    l4 = _$1(l4, l1, l2, l3, arrayOfLong[7], 10L, 1126891415L);
    l3 = _$1(l3, l4, l1, l2, arrayOfLong[14], 15L, -1416354905L);
    l2 = _$1(l2, l3, l4, l1, arrayOfLong[5], 21L, -57434055L);
    l1 = _$1(l1, l2, l3, l4, arrayOfLong[12], 6L, 1700485571L);
    l4 = _$1(l4, l1, l2, l3, arrayOfLong[3], 10L, -1894986606L);
    l3 = _$1(l3, l4, l1, l2, arrayOfLong[10], 15L, -1051523L);
    l2 = _$1(l2, l3, l4, l1, arrayOfLong[1], 21L, -2054922799L);
    l1 = _$1(l1, l2, l3, l4, arrayOfLong[8], 6L, 1873313359L);
    l4 = _$1(l4, l1, l2, l3, arrayOfLong[15], 10L, -30611744L);
    l3 = _$1(l3, l4, l1, l2, arrayOfLong[6], 15L, -1560198380L);
    l2 = _$1(l2, l3, l4, l1, arrayOfLong[13], 21L, 1309151649L);
    l1 = _$1(l1, l2, l3, l4, arrayOfLong[4], 6L, -145523070L);
    l4 = _$1(l4, l1, l2, l3, arrayOfLong[11], 10L, -1120210379L);
    l3 = _$1(l3, l4, l1, l2, arrayOfLong[2], 15L, 718787259L);
    l2 = _$1(l2, l3, l4, l1, arrayOfLong[9], 21L, -343485551L);
    this._$4[0] += l1;
    this._$4[1] += l2;
    this._$4[2] += l3;
    this._$4[3] += l4;
  }

  private void _$1(byte[] paramArrayOfByte, long[] paramArrayOfLong, int paramInt)
  {
    int i = 0;
    for (int j = 0; j < paramInt; j += 4)
    {
      paramArrayOfByte[j] = (byte)(int)(paramArrayOfLong[i] & 0xFF);
      paramArrayOfByte[(j + 1)] = (byte)(int)(paramArrayOfLong[i] >>> 8 & 0xFF);
      paramArrayOfByte[(j + 2)] = (byte)(int)(paramArrayOfLong[i] >>> 16 & 0xFF);
      paramArrayOfByte[(j + 3)] = (byte)(int)(paramArrayOfLong[i] >>> 24 & 0xFF);
      ++i;
    }
  }

  private void _$1(long[] paramArrayOfLong, byte[] paramArrayOfByte, int paramInt)
  {
    int i = 0;
    for (int j = 0; j < paramInt; j += 4)
    {
      paramArrayOfLong[i] = (b2iu(paramArrayOfByte[j]) | b2iu(paramArrayOfByte[(j + 1)]) << 8 | b2iu(paramArrayOfByte[(j + 2)]) << 16 | b2iu(paramArrayOfByte[(j + 3)]) << 24);
      ++i;
    }
  }

  public static long b2iu(byte paramByte)
  {
    return paramByte;
  }

  public static String byteHEX(byte paramByte)
  {
    char[] arrayOfChar1 = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
    char[] arrayOfChar2 = new char[2];
    arrayOfChar2[0] = arrayOfChar1[(paramByte >>> 4 & 0xF)];
    arrayOfChar2[1] = arrayOfChar1[(paramByte & 0xF)];
    String str = new String(arrayOfChar2);
    return str;
  }

  public static String toMD5(String paramString)
  {
    IIIIIIIlIllIlIll localIIIIIIIlIllIlIll = new IIIIIIIlIllIlIll();
    return localIIIIIIIlIllIlIll.getMD5ofStr(paramString).toLowerCase();
  }
}

 

package ptest;

class llIIllIIIlIIllIl
{
  public String getGertWord(String paramString1, String paramString2, long paramLong, String paramString3, String paramString4)
  {
    return _$1(paramString1, paramString2, paramLong, paramString3, paramString4);
  }

  private String _$1(String paramString1, String paramString2, long paramLong, String paramString3, String paramString4)
  {
    String str1 = paramString1 + paramString2 + (paramLong * 100L) + paramString3 + paramString4;
    IIIIIIIlIllIlIll localIIIIIIIlIllIlIll = new IIIIIIIlIllIlIll();
    str1 = localIIIIIIIlIllIlIll.getMD5ofStr(str1);
    char[] arrayOfChar = str1.toCharArray();
    String str2 = "";
    str2 = ((_$1(arrayOfChar[0]) + _$1(arrayOfChar[4]) + _$1(arrayOfChar[8]) + _$1(arrayOfChar[12]) + _$1(arrayOfChar[16]) + _$1(arrayOfChar[20]) + _$1(arrayOfChar[24]) + _$1(arrayOfChar[28])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[1]) + _$1(arrayOfChar[5]) + _$1(arrayOfChar[9]) + _$1(arrayOfChar[13]) + _$1(arrayOfChar[17]) + _$1(arrayOfChar[21]) + _$1(arrayOfChar[25]) + _$1(arrayOfChar[29])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[2]) + _$1(arrayOfChar[6]) + _$1(arrayOfChar[10]) + _$1(arrayOfChar[14]) + _$1(arrayOfChar[18]) + _$1(arrayOfChar[22]) + _$1(arrayOfChar[26]) + _$1(arrayOfChar[30])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[3]) + _$1(arrayOfChar[7]) + _$1(arrayOfChar[11]) + _$1(arrayOfChar[15]) + _$1(arrayOfChar[19]) + _$1(arrayOfChar[23]) + _$1(arrayOfChar[27]) + _$1(arrayOfChar[31])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[0]) + _$1(arrayOfChar[2]) + _$1(arrayOfChar[6]) + _$1(arrayOfChar[14]) + _$1(arrayOfChar[30]) + _$1(arrayOfChar[1]) + _$1(arrayOfChar[3]) + _$1(arrayOfChar[7])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[0]) + _$1(arrayOfChar[1]) + _$1(arrayOfChar[3]) + _$1(arrayOfChar[7]) + _$1(arrayOfChar[15]) + _$1(arrayOfChar[31]) + _$1(arrayOfChar[30]) + _$1(arrayOfChar[14])) % 10) + "";
    str2 = str2 + ((_$1(arrayOfChar[31]) + _$1(arrayOfChar[30]) + _$1(arrayOfChar[7]) + _$1(arrayOfChar[8]) + _$1(arrayOfChar[11]) + _$1(arrayOfChar[22]) + _$1(arrayOfChar[13]) + _$1(arrayOfChar[4])) % 10) + "";
    return str2;
  }

  private int _$1(char paramChar)
  {
    int i = paramChar;
    if (i >= 97)
      return (i % 87);
    if (i >= 65)
      return (i % 45);
    return (i % 48);
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值