java des验证码_看java代码,帮我找出DES密钥,我看不懂代码

packagecom.phone.stop.e;importjava.security.Key;importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;publicclassb{privatestaticStringa="123456";privateCipherb=...

package com.phone.stop.e;

import java.security.Key;

import javax.crypto.Cipher;

import javax.crypto.spec.SecretKeySpec;

public class b

{

private static String a = "123456";

private Cipher b = null;

private Cipher c = null;

public b()

{

this(a);

}

public b(String paramString)

{

Key localKey = b(paramString.getBytes());

this.b = Cipher.getInstance("DES");

this.b.init(1, localKey);

this.c = Cipher.getInstance("DES");

this.c.init(2, localKey);

}

public b(byte[] paramArrayOfByte)

{

Key localKey = b(paramArrayOfByte);

this.b = Cipher.getInstance("DES");

this.b.init(1, localKey);

this.c = Cipher.getInstance("DES");

this.c.init(2, localKey);

}

public static byte[] a(String paramString)

{

byte[] arrayOfByte1 = paramString.getBytes();

int i = arrayOfByte1.length;

byte[] arrayOfByte2 = new byte[i / 2];

for (int j = 0; ; j += 2)

{

if (j >= i)

return arrayOfByte2;

String str = new String(arrayOfByte1, j, 2);

arrayOfByte2[(j / 2)] = ((byte)Integer.parseInt(str, 16));

}

}

private Key b(byte[] paramArrayOfByte)

{

byte[] arrayOfByte = new byte[8];

for (int i = 0; ; i++)

{

if ((i >= paramArrayOfByte.length) || (i >= arrayOfByte.length))

return new SecretKeySpec(arrayOfByte, "DES");

arrayOfByte[i] = paramArrayOfByte[i];

}

}

public byte[] a(byte[] paramArrayOfByte)

{

return this.c.doFinal(paramArrayOfByte);

}

public String b(String paramString)

{

return new String(a(a(paramString)));

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值