在我的电脑的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. 2016-08-01一起领略ReactJs的风采

    现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领 ...

  2. android view : 动画

    view中除了必要的移动之外,也可以使用动画来完善视觉效果.android中的动画在2.3之前只有帧动画和补间动画.3.0之后就加入了属性动画.其实说到动画是什么?就是一个连续的view的集合.帧动画 ...

  3. cnblogs开篇留念

    之前看过很多大牛程序员们介绍的一些经验之类的文章,几乎每个人都提到了一点就是平时要写博客,记录一些自己平时学习和工作过程中学习到的一些技术点和心得.之前也用过一些其他的网站博客,上周有同事推荐了一篇文 ...

  4. data process for large scale datasets

    Kmeans:   总体而言,速度(单线程): yael_kmeans > litekmeans ~ vl_kmeans 1.vl_kemans (win10 + matlab 15 + vs1 ...

  5. CLR via C# 3rd - 07 - Constants and Fields

    1. Constants        A constant is a symbol that has a never-changing value. When defining a constant ...

  6. 【转】rollup、cub、grouping sets、grouping、grouping_id在报表中的应用

    摘自 http://blog.itpub.net/26977915/viewspace-734114/ 在报表语句中经常要使用各种分组汇总,rollup和cube就是常用的分组汇总方式. 第一:gro ...

  7. javascript实现图片切换、自动走、鼠标移入会停止,移出继续走

    要实现以上效果并不难,把功能分开一步一步来实现就变得简单了,录制动态图不流畅,看代码意会吧! <!doctype html> <html lang="en"> ...

  8. csv 文件用Excel打开乱码

    最近在做一个上传的功能,记录下自己的感受. 刚开始我用的是excel上传:但是发现客户服务器有用64位的,使用的时候程序会报错: 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” ...

  9. Flex 关闭浏览器

    在Actionscript 2及以前,要打开任何网址,只需调用全局函数getURL()即可.在Actionscript 3中,已经取消了getURL()这个全局函数,取而代之的是flash.net包中 ...

  10. ios常见的页面传值方式

    iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值 ...