在我的电脑的myeclipse的whnaproject项目下。可直接编译生成license.xml中所需要的授权码。 引用了spring-license-0.02.jar。

package com.whmetro.common.util.base;

import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.Map;

import org.apache.commons.lang.time.DateFormatUtils;

import com.software.pack.hi.HardwareInfoReader;
import com.software.pack.lic.DESEncrypt;
import com.software.pack.lic.LicenseInfo;
import com.software.pack.utils.common.DateHelper;

public class MyRSACoderTest2 {

public static void main(String[] args) throws Exception {
LicenseInfo lic = new LicenseInfo();
//lic.setCode("89456B46E82A20CE276D076EAA6E97D319E30269EAC9CDE9CC9A19CCC9E2FDE1E59DD1C9CFBFAF7A32ADF22BFC8B3207");
lic.setExpiration(DateHelper.parse("2016-12-31"));
lic.setUser("lcsoft");

/*System.out.println(encode("RAPEE-100-1412310703490741"));*/
//System.out.println("解密"+encode("ENCRR-655-6167865258945296"));
int s1=seed("RAPEE-100-1612310The software is copyright by lcsoft company ltd.lcsoft");

/* 说明:以上seed方法中"RAPEE-100-1612310"里的"1612310"是动态值,当之前lic.setExpiration(DateHelper.parse("2016-12-31"));设置为2016-12-31时,则动态值为1612310,当日期设置为2020-12-31时 ,则动态值未2012310  */

//System.out.println("解密"+seed("RAPEE-100-1612310The software is copyright by lcsoft company ltd.lcsoft"));
lic.setKey(encode("RAPEE-100-1612310"+s1));

/* 说明:以上encode方法中"RAPEE-100-1612310"里的"1612310"是动态值,当之前lic.setExpiration(DateHelper.parse("2016-12-31"));设置为2016-12-31时,则动态值为1612310,当日期设置为2020-12-31时 ,则动态值未2012310  */
System.out.println(lic.getKey());
//lic.setKey("ENCRR-655-6167865258945296");
String licDate = DateFormatUtils.format(DateHelper.parse("2016-12-31"), "yyyyMMdd");
System.out.println(licDate);
String key="lcsoftrap";
DESEncrypt desEncrypt = new DESEncrypt(key.getBytes());
String value = lic.getKey() + lic.getUser() + DateHelper.format(lic.getExpiration());
System.out.println(HardwareInfoReader.toHexString(desEncrypt.doEncrypt(value.getBytes("UTF-8"))));

}
public static String encode(String s) {
byte[] abyte0 = s.getBytes();
char[] ac = new char[s.length()];
int i = 0;
for (int k = abyte0.length; i < k; ++i) {
int 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;
// System.out.println(abyte0[i]+"--"+j);
ac[i] = (char)j;
}

return String.valueOf(ac);
}
public static int seed(String s) {
int i = 0;
char[] ac = s.toCharArray();
int j = 0;
char news;
for (int k = ac.length; j < k; ++j) {
i = 31 * i + ac[j];
news=(char)ac[j];
//System.out.println(news);
}
// System.out.println(i);
return i;
}
}

公司系统的license授权的更多相关文章

  1. sudo提权,ansible批量给所有主机创建系统账户,授权

    sudo(superuser or another do)让普通用户可以以超级管理员或其他人的身份执行命令. sudo基本流程如下: 1.管理员需要先授权(修改/etc/sudoers文件) 2.普通 ...

  2. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享

    由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...

  3. jenkins在linux环境搭建-公司系统

    1.按照这个搭建的项目https://www.cnblogs.com/zishengY/p/7170656.html 2.配置权限https://blog.csdn.net/mynameissls/a ...

  4. 2020-04-11:A系统联机同步调用B系统(A和B不是同一公司系统,不能用分布式事务),如何保证系统间数据准实时一致性(设计思路即可)?提醒:需要考虑调用超时、并发、幂等、反交易先到等问题

    福哥答案2020-04-12: 可参考微信支付和支付宝支付.

  5. 电脑公司最新GHOST WIN7系统32,64位优化精简版下载

    系统来自系统妈:http://www.xitongma.com 电脑公司最新GHOST win7系统32位优化精简版V2016年3月 系统概述 电脑公司ghost win7 x86(32位)万能装机版 ...

  6. 【WebMisCentral WMC】基于Extjs 4.2x的企业级用户授权认证中心系统(SSO+AM+SM),多租户SAAS应用

    http://saas.chinacloudtech.com 题记 三年磨一剑,在企业信息化的道路上已经走了3年之久了,3年多时间里做了很多,突破了很多:有无奈和辛酸,也有收货与喜悦:自我价值也在不断 ...

  7. 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心

    基于云端的通用权限管理系统 SAAS服务 基于SAAS的权限管理 基于SAAS的单点登录SSO 基于.Net的SSO,单点登录系统,提供SAAS服务 基于Extjs 4.2 的企业信息管理系统 基于E ...

  8. UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息

    应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Gith ...

  9. 最新电脑公司最新GHOST WIN7系统32,64位极速安全版

    系统来自系统妈:http://www.xitongma.com 电脑公司最新GHOST win7系统64位极速安全版 V2016年3月 系统简介 电脑公司ghost win7系统64位极速安全版集成了 ...

随机推荐

  1. BZOJ 4204 && BZOJ 2510 循环矩阵

    n^3logn非常显然.所以要用一种因为这个矩阵是一个循环矩阵,所以只要知道第一行就可以知道所有行了. C[i][j]=C[i-1][j-1]; #include <iostream> # ...

  2. WindowsService部署和问题的解决方法

    1.Windows Service项目生成:[服务名称].exe 编译后,把bin\debug下所有都拷贝到生产环境的一个地址下:[服务exe所在文件地址] 2.部署:做一个ServiceInstal ...

  3. Azure自动化实例: 复制blog用于备份

    在Azure 自动化:使用PowerShell Credential连接到Azure, 之后, 我在项目中遇到了实现blog备份的任务, 现将其作为一个实例写下来: 1. 首先,创建自动化帐户, 在资 ...

  4. 昨天晚上画了个带apple的图:ide插件与php和xdebug通信原理图,周末写1个调试器。

    昨天晚上画了个带apple的图:ide插件与php和xdebug通信原理图,周末写1个调试器.

  5. 11——在operator=中处理自我赋值

    在operator=函数中加一个测试: if(&rhs==this) copy and swap

  6. JSTL String时间转成 date

    两个标签配合使用 <fmt:parseDate value="${integralRecord.startDate}" var="date1"/> ...

  7. cocos3.12预编译android报错RuntimeJsImpl.cpp

    从coco官网下载了cocos2d-x-3.12.zip,在gen-libs生成prebuilt时,mac ,ios 平台都正常,android报错: jni/../../Classes/ide-su ...

  8. WPF学习笔记——依赖属性(Dependency Property)

    1.什么是依赖属性 依赖属性是一种可以自己没有值,并且通过Binding从数据源获得值(依赖在别人身上)的属性,拥有依赖属性的对象被称为"依赖对象". 依赖项属性通过调用 Regi ...

  9. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  10. web安全之sql注入报错型注入

    前提: echo mysql_error(),输出错误信息. 熟悉的函数: floor()向下取整 concat()返回的字符串参数连接的结果 count()函数返回匹配指定条件的行数 rand()函 ...