`

oxygenxml.oxygen_18.1 生成KEY代码

    博客分类:
  • Java
阅读更多
oxygenxml Eclipse插件的Key生成器代码,做个保留,如果真有需要请付费购买正版
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.Signature;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import org.apache.commons.codec.binary.Base64;

public class Keygen {
	private static SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy", Locale.US);

	private static final byte[] privateKeyData = { 48, -126, 1, 76, 2, 1, 0, 48, -126, 1, 44, 6, 7, 42, -122, 72, -50, 56, 4, 1, 48, -126, 1, 31, 2,
			-127, -127, 0, -3, 127, 83, -127, 29, 117, 18, 41, 82, -33, 74, -100, 46, -20, -28, -25, -10, 17, -73, 82, 60, -17, 68, 0, -61, 30, 63,
			-128, -74, 81, 38, 105, 69, 93, 64, 34, 81, -5, 89, 61, -115, 88, -6, -65, -59, -11, -70, 48, -10, -53, -101, 85, 108, -41, -127, 59,
			-128, 29, 52, 111, -14, 102, 96, -73, 107, -103, 80, -91, -92, -97, -97, -24, 4, 123, 16, 34, -62, 79, -69, -87, -41, -2, -73, -58, 27,
			-8, 59, 87, -25, -58, -88, -90, 21, 15, 4, -5, -125, -10, -45, -59, 30, -61, 2, 53, 84, 19, 90, 22, -111, 50, -10, 117, -13, -82, 43, 97,
			-41, 42, -17, -14, 34, 3, 25, -99, -47, 72, 1, -57, 2, 21, 0, -105, 96, 80, -113, 21, 35, 11, -52, -78, -110, -71, -126, -94, -21, -124,
			11, -16, 88, 28, -11, 2, -127, -127, 0, -9, -31, -96, -123, -42, -101, 61, -34, -53, -68, -85, 92, 54, -72, 87, -71, 121, -108, -81, -69,
			-6, 58, -22, -126, -7, 87, 76, 11, 61, 7, -126, 103, 81, 89, 87, -114, -70, -44, 89, 79, -26, 113, 7, 16, -127, -128, -76, 73, 22, 113,
			35, -24, 76, 40, 22, 19, -73, -49, 9, 50, -116, -56, -90, -31, 60, 22, 122, -117, 84, 124, -115, 40, -32, -93, -82, 30, 43, -77, -90,
			117, -111, 110, -93, 127, 11, -6, 33, 53, 98, -15, -5, 98, 122, 1, 36, 59, -52, -92, -15, -66, -88, 81, -112, -119, -88, -125, -33, -31,
			90, -27, -97, 6, -110, -117, 102, 94, -128, 123, 85, 37, 100, 1, 76, 59, -2, -49, 73, 42, 4, 23, 2, 21, 0, -106, -49, 66, -124, -79, -94,
			-48, -108, 26, -46, -57, -110, -117, 14, -38, 1, -77, -127, 0, 14 };
	private String registrationName;
	private String company;

	private static PrivateKey getPrivateKey() throws InvalidKeySpecException, NoSuchAlgorithmException {
		PKCS8EncodedKeySpec pKCS8EncodedKeySpec = new PKCS8EncodedKeySpec(privateKeyData);
		return KeyFactory.getInstance("DSA").generatePrivate(pKCS8EncodedKeySpec);
	}

	private static String convertString(String _string) {
		StringBuffer stringBuffer = new StringBuffer(_string);
		int length = stringBuffer.length();
		for (int i = 0; i < length; ++i) {
			if ("BADCEFGHIJKLNMOPQRSTUVWXZY0123456789 _-.@".indexOf(Character.toUpperCase(stringBuffer.charAt(i))) != -1)
				continue;
			stringBuffer.setCharAt(i, '_');
		}
		return stringBuffer.toString();
	}

	private static String inputString(BufferedReader _bufferedReader, String _message) throws IOException {
		String inputLine = null;
		do {
			System.out.print(_message);
			System.out.flush();
			inputLine = _bufferedReader.readLine();
		} while ((inputLine == null) || (inputLine.trim().length() == 0));
		return inputLine;
	}

	public Keygen(String _registrationName, String _company) {
		this.registrationName = null;
		this.company = null;
		this.registrationName = _registrationName;
		this.company = _company;
	}

	private String getLicenseString() throws Exception {
		StringBuffer buffer = new StringBuffer();
		buffer.append(convertString(this.registrationName));
		buffer.append(convertString(this.company));
		buffer.append(formatter.format(new Date()));
		buffer.append("0");
		buffer.append("1000");
		buffer.append(convertString("Enterprise"));
		buffer.append(convertString("[Author, Author-Component, XML-Editor, XSLT-Debugger, SVN-Client, Saxon-SA, Diff-Srv, Diff-App, 1]"));
		buffer.append(convertString("18"));
		return buffer.toString();
	}

	private String getLicenseSignature() throws Exception {
		Signature dsaSignature = Signature.getInstance("SHA1withDSA");
		dsaSignature.initSign(getPrivateKey());
		dsaSignature.update(getLicenseString().getBytes());

		return Base64.encodeBase64String(dsaSignature.sign());
	}

	private String getLicense() throws Exception {
		StringBuffer buffer = new StringBuffer();
		buffer.append("Registration_Name=" + this.registrationName).append('\n');
		buffer.append("Company=" + this.company).append('\n');
		buffer.append("Date=").append(formatter.format(new Date())).append('\n');
		buffer.append("Duration=-").append('\n');
		buffer.append("Number_of_Licenses=1000").append('\n');
		buffer.append("Category=Enterprise").append('\n');
		buffer.append("Component=Author,Author-Component,XML-Editor,XSLT-Debugger,SVN-Client,Saxon-SA,Diff-Srv,Diff-App,1").append('\n');
		buffer.append("Version=18").append('\n');
		buffer.append("SGN=" + getLicenseSignature());
		return buffer.toString();
	}

	public static void main(String[] _args) {
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
		try {
			System.out.println("==================================================");
			System.out.println("=== <oXygen/>XML Editor v17.x license generator ===");
			System.out.println("==================================================");
			System.out.println();
			String registrationName = inputString(bufferedReader, "Registration name : ");
			String company = inputString(bufferedReader, "Company           : ");
			System.out.println();
			System.out.println("==================================================");
			System.out.println("License: ");
			System.out.println("==================================================");
			System.out.println();
			System.out.println(new Keygen(registrationName, company).getLicense());
			System.out.println();
			System.out.println("==================================================");
		} catch (Exception _exception) {
			_exception.printStackTrace();
		} finally {
			try {
				bufferedReader.close();
			} catch (IOException localIOException1) {
			}
		}
	}
}
分享到:
评论

相关推荐

    org.eclipse.jface.text_3.12.2.v20180112-1341.zip

    总的来说,这个压缩包提供的插件针对Eclipse Oxygen 3A版本的文本编辑体验进行了优化,通过禁用空格和等号后的自动补全,使开发者在编写代码时有更高的控制力。这对于习惯于特定编辑模式或者需要精确控制代码输入的...

    Oxygen.XML.Editor_keygen

    Oxygen.XML.Editor_keygen

    org.eclipse.jface.text_3.12.2.v20180112-1341.jar

    在Eclipse Oxygen中,开发人员可能会遇到一些问题,如使用空格键时会自动触发代码补全的确定操作,这在某些情况下可能会造成不便。描述中提到的修改可能就是针对这一问题,通过禁用或者调整相关设置,使得用户在使用...

    Oxygen-tester.rar_oxygen_oxygen-tester_proteus_仿真_含氧量

    "oxygen-oxygen-tester" 可能是指这个项目的核心部分,即氧气测试器。"proteus_仿真" 指出此项目包含了使用 Proteus 软件进行的电路仿真,Proteus 是一款广泛使用的电子设计自动化工具,尤其适合微控制器的仿真。"含...

    Oxygen_XML_Editor_v20.1.2018122403_Linux_Downloadly.ir.rar

    《Oxygen XML Editor v20.1.2018122403 Linux:一个强大的XML编辑器在Delphi编程环境中的应用》 Oxygen XML Editor是一款专业的XML编辑工具,其版本号为20.1,发布日期为2018年12月24日。该软件专为Linux操作系统...

    eclipse-4.7.0-linux.gtk.x86-64.tar.gz

    2. **解压缩**:使用tar命令(如`tar -zxvf eclipse-4.7.0-linux.gtk.x86_64.tar.gz`)来解压文件,生成一个名为eclipse的目录。 3. **启动Eclipse**:进入解压后的目录,找到并运行`eclipse`可执行文件。 4. **工作...

    thz.zip_Thz_it_oxygen4oh_网络编程

    标题中的"thz.zip_Thz_it_oxygen4oh_网络编程"暗示了这是一个与网络编程相关的项目,可能包含了一些特定的代码和技术。"Thz"可能是项目或团队的名称,"it"代表信息技术,"oxygen4oh"可能是某种代号或者项目的特色。...

    hanshu.rar_oxygen

    【标题】"hanshu.rar_oxygen"是一个与氧气含量计算相关的程序集合,它主要功能是分析和建立含氧量变化与其他参数之间的函数关系。这个工具不仅限于氧气含量的计算,还可以应用于其他各种参数与结果的函数关系建模。 ...

    kde-style-oxygen-4.11.19-16.el7_9.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    eclipse-java-oxygen-3a-linux-gtk-x86_64.tar.gz

    标题中的“eclipse-java-oxygen-3a-linux-gtk-x86_64.tar.gz”指的是一款针对Linux操作系统的Eclipse集成开发环境(IDE)的压缩包文件。Eclipse是一款开源、跨平台的Java IDE,广泛用于Java应用程序的开发。这里的...

    OxygenXML.v8.1.Eclipse插件.part04

    OxygenXML是一款很有名的XML编辑软件,提供了很多功能,这是针对Eclipse的插件,里面符有注册机和说明。这是第四个分卷,一共有6个压缩包。

    org.eclipse.jface.text_3.12.2.v20180112-1341.jar 修改版

    Eclipse Oxygen 的 org.eclipse.jface.text_3.12.2.v20180112-1341.jar 修改版,去除了点和空格上屏并增加了 tab 键上屏。

    Oxygen.XML.Editor.v14.2.Key.and.Patch-FALLEN

    Oxygen.XML.Editor.Enterprise.Edition.v14.2(build 2013040919)激活补丁 本激活补丁适用于build id:2013040919版本(包含x86和x64版本)。 使用方法: 1)从...

    barth.rar_oxygen

    calculates a set of chemical rock (or mineral) analysis to atoms per unit cell of 160 oxygen atoms.

    Oxygen.XML.Editor.v14.2.Key.and.Patch (for build 2013051016)

    Oxygen.XML.Editor.Enterprise.Edition.v14.2(build 2013051016)激活补丁 本激活补丁适用于build id:2013051016版本(包含x86和x64版本)。 使用方法: 1)从...

    OFnum1.0.rar_factorhkd_leatherczb_计算锆石含量_逸度

    标题“OFnum1.0.rar_factorhkd_leatherczb_计算锆石含量_逸度”揭示了这个压缩包文件的主要内容,它涉及到一个名为“OFnum1.0”的程序或者工具,该工具用于计算锆石(Zircon)中的元素含量,特别是与氧逸度(Oxygen ...

    xml-examples.zip_it

    6. 使用工具:开发人员可以使用各种XML编辑器和验证工具,如Visual Studio、XMLSpy、 Oxygen XML Editor等,它们内置了XML Schema支持,可以方便地创建、编辑和验证Schema文档以及XML文档。 7. 错误处理和调试:当...

    a.zip_BOLD_bold fmri_site:www.pudn.com

    标题 "a.zip_BOLD_bold fmri_site:www.pudn.com" 暗示这是一个与功能性磁共振成像(fMRI)相关的MATLAB程序,重点在于处理Blood Oxygen Level Dependent(BOLD)信号的分析。BOLD信号是fMRI研究中常用的一种指标,它...

    eclipse-java-linux-gtk-x86_64.tar.gz

    Eclipse作为Java IDE,提供了丰富的代码编辑、调试、构建和测试工具,使得开发者能高效地进行Java项目开发。 在压缩包文件名称列表中,我们只看到“eclipse”,这可能是指解压后会得到一个名为“eclipse”的目录,...

Global site tag (gtag.js) - Google Analytics