在我的电脑的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. Ubuntu 使用Cisco VPN、AnyConnect、OpenConnect的方法。

    自己建的廉价Shadowsocks服务器总是不稳定,众所周知,PPTP在中国大陆已经废了.为了连接外网,所以购买了BlueCloud的VPN.但是他们家的VPN是使用Cisco VPN,可以使用Any ...

  2. jQuery.pager无刷新分页

    刚刚学习前端的时候,需要一个无刷新的分页功能,找了一个不错的,大家也有很大分享,在这里写一个自己的部分代码,前后端都有,需要的小伙伴可以参考一下,代码不是完整的. 直接上伪代码<样式代码省略,部 ...

  3. matlab中的数据结构

    一.cell 1. function: num2cell(A,n) n表示如何把A中的数据转换为cell. n=1表示把每列的所有行转换为cell:n=2表示把每行的所有列转换为cell. >& ...

  4. WeView 里引用的H5中的文字 到行末尾 文字被切割

    这个情况 在iPhone6以上没问题  以下有问题  具体情况是 我用以下代码计算内容的高度 NSString *injectionJSString = @"var script = doc ...

  5. PHP生成二维码图片

    下载二维码文件:http://files.cnblogs.com/isboy/qr_code.zip 需要加入的HTML:<img id="js_pc_qr_code_img" ...

  6. Linux学习之路—Linux文件与目录管理

    该内容来自鸟哥私房菜 1.目录的相关操作 1.1 特殊的目录 .  代表此层目录 .. 代表上一层目录 -  代表前一个工作目录 ~ 代表"目前用户身份"所在的主文件夹 ~acco ...

  7. 外边距(padding)重叠的及解决办法

    两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大的值.如果出现负边界,则在最大的正边界中减去绝对值最大的负边界.如果没有正边界,则从零中减去绝对值最大的负边界.注意:相邻的盒 ...

  8. 修改安卓串口蓝牙app问题记录

    * 在网上下载的安卓的蓝牙串口app都是基于eclipse的,但往as里边导入时都存在问题. 迫不得已最后我使用的办法还是在as下面新建工程,然后把相关文件导入.不过还是遇到了其他的问题. * 某个蓝 ...

  9. hibernate一级缓存

    理解 Hibernate 一级缓存 Hibernate 一级缓存默认是打开,不需要任何的配置.实际上,你无法强制禁止它的使用. 如果你理解了一级缓存实际上和会话是关联的,就很容易理解一级缓存.总所周知 ...

  10. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...