我把让肆空注册代码发给你吧:
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader
public class a {
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about itpay for a license, avoid prosecution, and feel better about yourself."
public String getSerial(String userId, String licenseNum) {
java.util.Calendar cal = java.util.Calendar.getInstance()
cal.add(1, 3)
cal.add(6, -1)
java.text.NumberFormat nf = new java.text.DecimalFormat("000")
licenseNum = nf.format(Integer.valueOf(licenseNum))
String verTime = new StringBuilder("-").append(
雹羡 new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))
.append("0").toString()
String type = "YE3MP-"
String need = new StringBuilder(userId.substring(0, 1)).append(type)
.append("300").append(licenseNum).append(verTime).toString()
String dx = new StringBuilder(need).append(LL).append(userId)
.toString()
int suf = this.decode(dx)
String code = new StringBuilder(need).append(String.valueOf(suf))
.toString()
return this.change(code)
}
private int decode(String s) {
int i
char[] ac
int j
int k
i = 0
ac = s.toCharArray()
j = 0
k = ac.length
while (j <k) {
i = (31 * i) + ac[j]
j++
坦瞎 }
return Math.abs(i)
}
private String change(String s) {
byte[] abyte0
char[] ac
int i
int k
int j
abyte0 = s.getBytes()
ac = new char[s.length()]
i = 0
k = abyte0.length
while (i <k) {
j = abyte0[i]
if ((j >= 48) &&(j <= 57)) {
j = (((j - 48) + 5) % 10) + 48
} else if ((j >= 65) &&(j <= 90)) {
j = (((j - 65) + 13) % 26) + 65
} else if ((j >= 97) &&(j <= 122)) {
j = (((j - 97) + 13) % 26) + 97
}
ac[i] = (char) j
i++
}
return String.valueOf(ac)
}
public a() {
super()
}
public static void main(String[] args) {
try {
System.out.println("please input register name:")
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in))
String userId = null
userId = reader.readLine()
a myeclipsegen = new a()
String res = myeclipsegen.getSerial(userId, "5")
System.out.println("Serial:" + res)
reader.readLine()
} catch (IOException ex) {
}
}
}
这个代码,生成的注册码,一般都是3年有效期,你自己填写上,就OK了!
用文件夹内的exe替换安装目录的同名文件。java编程词典个人版直接用文件夹内的exe替换安慧腔装目录的同名文件不需要客户获取注册码即可直接打开。
《Java编程词典(个人版)》绝肢是明日科技为Java各级程序开发人员和编程爱好者开发的专业编程资源库,它提供了海量的开发资源、丰富的实例项目、灵活的查询方式、多样的学习模式,既可以帮助零基础者快速入门,又可以帮助有一定基础者快速提升开发水平,更适合各级程序开发人员随时检索查询,随时粘贴复用。Java编程词典个人版是程序开发人员的并碧世左膀右臂,软件工程师必备的专业指南。
平常我们都陆宽兆接触过软件注册,输入序列号、激活码、注册码、授权码;对于这些字符码到底代表什么含义不甚了解,但一般来说,这些字符码中都有几个特点:1、唯一性,肯定是一个唯一的序列号,否则就会存在滥用的问题。
2、加密性,肯定是经过加密或者混乱的,防止大家自己生成序列号。
3、解密性,软件自身肯定可以解密,否则无法验证合法性巧橡。
4、可读性,序列号一般都早租比较标准,方便书写和记忆,所以一般都为数字和字母。
以下给出简单示例:
[java] view plaincopy
/**
* byte转哈希
* @param b
* @return
*/
public static String byte2hex(byte[] b) {
String hs = ""
String stmp = ""
for (int n = 0n <b.lengthn++) {
stmp = Integer.toHexString(b[n] &0xFF)
if (stmp.length() == 1)
hs += ("0" + stmp)
else
hs += stmp
}
return hs.toUpperCase()
}
/**
* 哈希转byte
* @param b
* @return
*/
public static byte[] hex2byte(byte[] b) {
if ((b.length % 2) != 0)
throw new IllegalArgumentException("长度不是偶数")
byte[] b2 = new byte[b.length / 2]
for (int n = 0n <b.lengthn += 2) {
String item = new String(b, n, 2)
b2[n / 2] = (byte) Integer.parseInt(item, 16)
}
return b2
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)