在我的电脑的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 2002 && BZOJ 2409 LCT && BZOJ 3282 初步练习

    #include <cstdio> ; inline void Get_Int(int & x) { ; ') ch=getchar(); +ch-'; ch=getchar(); ...

  2. Tomcat version 7.0 only support J2EE 1.2。。。。。。。

    刚开始使用eclipse编程,换了eclipse版本后导入项目,出现下的报错

  3. vs2005连接sqlserver2008数据库遇到的问题

    vs2005连接sqlserver2008时总是弹出“此服务器不支持,必须安装microsoft sql server 2005 bate 2 或更高版本.”如下图所示: 解决方法: 1.先安装vs2 ...

  4. 项目用到的icarouls类和UIEffectDesignerView类,菜单技巧,构思(金方圆)

    // //  MenuHomeViewController.m //  HFYS // //  Created by Showsoft_002 on 13-8-14. //  Copyright (c ...

  5. BT协议分析(1)—1.0协议

    简述 BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer.   缺点 1.资源的安全性 2.资源的实效性(没有上传者则BT也将失效) ...

  6. JUCE 界面库显示中文乱码问题

    JUCE 界面库显示中文乱码问题 环境: Windows7 64位 旗舰版 Visual Studio Ultimate 2012 JUCE 4.1 问题描述: 直接使用juce::String存储中 ...

  7. MySQL使用正则表达式比较字段中的数字

    今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值.因为值的位数并不确定,考虑使用正则表达式进行筛选. 字段格式 类json的key-value字段,示例如下 ...

  8. 移动端的拖拽这个demo实现的功能

    SQL数据库适合那些需求确定和对数据完整性要去严格的项目.NoSQL数据库适用于那些对速度和可扩展性比较看重的那些不相关的,不确定和不断发展的需求. 总所周知,网页的加载速度跟图片是有很大的关系的,因 ...

  9. LeetCode() Merge Intervals 还是有问题,留待,脑袋疼。

    感觉有一点进步了,但是思路还是不够犀利. /** * Definition for an interval. * struct Interval { * int start; * int end; * ...

  10. 单例模式读取properties配置文件中的信息

    public class ConfigManager {    private static ConfigManager config = null;    //创建Properties文件  读取配 ...