- 浏览: 434511 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fred7510:
死的啊。。不过还是谢了
flex 截图 -
hechuanshan:
flex状态及动画 -
Da嗒_Sunny:
求使用说明
flex图片裁剪 -
wapj23:
...
flex中定制右键菜单 -
lion_leon:
谢谢!帮了我的大忙了!
利用flashvars给flash传值
package com.aptana.ide.core.licensing;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.TimeZone;
import java.util.zip.CRC32;
public final class ClientKey {
private static class Decrypt {
private BigInteger modulus;
private BigInteger exponent;
public String decrypt(String encrypted) {
long crc32Value;
byte bytes[];
CRC32 crc32;
if (encrypted == null) {
encrypted = "";
} else {
encrypted = ClientKey.trimEncryptedLicense(encrypted);
}
BigInteger big = new BigInteger(encrypted);
BigInteger decrypted = big.modPow(exponent, modulus);
crc32Value = (long) decrypted.intValue() & 0xffffffffL;
decrypted = decrypted.shiftRight(32);
bytes = decrypted.toByteArray();
crc32 = new CRC32();
crc32.update(bytes);
if (crc32Value == crc32.getValue()) {
return new String(bytes);
}
return null;
}
Decrypt(String exponent, String modulus) {
this.modulus = new BigInteger(modulus);
this.exponent = new BigInteger(exponent);
}
}
public static final String BEGIN_LICENSE_MARKER = "--begin-aptana-license--";
public static final String END_LICENSE_MARKER = "--end-aptana-license--";
private static final TimeZone GMT = TimeZone.getTimeZone("GMT");
private static final String EMAILS_NON_MATCHING = "EMAILS_NON_MATCHING";
private static final int PRO = 0;
private static final int TRIAL = 1;
private String email;
private long expiration;
private int type;
private ClientKey(int type, String email, long expiration) {
this.type = type;
this.email = email;
this.expiration = expiration;
}
public static ClientKey decrypt(String encrypted, String email) {
/*String modulus = "115801190261221214754334668902722425936509505416457970789287297728816388753627896293249501578830570324705253515546383166989625001335561947096747210280001245977114030627247212292377290543869343996595819188362915644707269064020812435233012510929338706599216007185654748959001143012936618501934698642942289379979";
String exponent = "65537";
if (encrypted != null) {
encrypted = encrypted.trim();
}
Decrypt decrypter = new Decrypt(exponent, modulus);
return decrypt(decrypter, encrypted, email);*/
return new ClientKey(0, "yswwei@vip.sina.com", 2524600800000L);
}
private static ClientKey decrypt(Decrypt decrypter, String encrypted,
String email) {
String value = decrypter.decrypt(encrypted);
if (value == null) {
return new ClientKey(1, null, 0L);
}
String values[] = value.split(";");
int type = 1;
String genedEmail = null;
long expiration = 0L;
if (values.length == 3) {
if ("p".equals(values[0].toLowerCase())) {
type = 0;
}
genedEmail = values[1];
if (genedEmail != null) {
if (!genedEmail.equalsIgnoreCase(email)) {
genedEmail = "EMAILS_NON_MATCHING";
}
} else {
genedEmail = null;
}
try {
expiration = Long.parseLong(values[2]);
} catch (Exception _ex) {
expiration = 0L;
}
}
return new ClientKey(type, genedEmail, expiration);
}
public boolean isCloseToExpiring() {
return false;
}
public boolean isValid() {
return true;
}
public boolean isCloseToMatching() {
return false;
}
public boolean isExpired() {
return false;
}
public String getEmail() {
//把此处的Email修改为你自己的Email地址
return "yswwei@vip.sina.com";
}
public Calendar getExpiration() {
Calendar expirationCal = Calendar.getInstance(GMT);
//把此处的时间修改为授权到期时间
expirationCal.set(2010, 9, 9);
return expirationCal;
}
public boolean isTrial() {
return false;
}
public boolean isPro() {
return true;
}
public boolean shouldProPluginsRun() {
return true;
}
public static String trimEncryptedLicense(String encrypted) {
String newEncrypted = encrypted;
newEncrypted = newEncrypted.trim();
newEncrypted = newEncrypted.replaceAll("--begin-aptana-license--", "");
newEncrypted = newEncrypted.replaceAll("--end-aptana-license--", "");
newEncrypted = newEncrypted.replaceAll("\\s+", "");
return newEncrypted;
}
}
将上面代码存为.java文件,可以存在D盘,在cmd运行 d:\javac ClientKey.java
将编辑完成的两个.class文件,考到 ecplice/plugin/com.aptana.ide.core*.jar中,此文件用winrar打开,到com.aptana.ide.core.licensing下
import java.math.BigInteger;
import java.util.Calendar;
import java.util.TimeZone;
import java.util.zip.CRC32;
public final class ClientKey {
private static class Decrypt {
private BigInteger modulus;
private BigInteger exponent;
public String decrypt(String encrypted) {
long crc32Value;
byte bytes[];
CRC32 crc32;
if (encrypted == null) {
encrypted = "";
} else {
encrypted = ClientKey.trimEncryptedLicense(encrypted);
}
BigInteger big = new BigInteger(encrypted);
BigInteger decrypted = big.modPow(exponent, modulus);
crc32Value = (long) decrypted.intValue() & 0xffffffffL;
decrypted = decrypted.shiftRight(32);
bytes = decrypted.toByteArray();
crc32 = new CRC32();
crc32.update(bytes);
if (crc32Value == crc32.getValue()) {
return new String(bytes);
}
return null;
}
Decrypt(String exponent, String modulus) {
this.modulus = new BigInteger(modulus);
this.exponent = new BigInteger(exponent);
}
}
public static final String BEGIN_LICENSE_MARKER = "--begin-aptana-license--";
public static final String END_LICENSE_MARKER = "--end-aptana-license--";
private static final TimeZone GMT = TimeZone.getTimeZone("GMT");
private static final String EMAILS_NON_MATCHING = "EMAILS_NON_MATCHING";
private static final int PRO = 0;
private static final int TRIAL = 1;
private String email;
private long expiration;
private int type;
private ClientKey(int type, String email, long expiration) {
this.type = type;
this.email = email;
this.expiration = expiration;
}
public static ClientKey decrypt(String encrypted, String email) {
/*String modulus = "115801190261221214754334668902722425936509505416457970789287297728816388753627896293249501578830570324705253515546383166989625001335561947096747210280001245977114030627247212292377290543869343996595819188362915644707269064020812435233012510929338706599216007185654748959001143012936618501934698642942289379979";
String exponent = "65537";
if (encrypted != null) {
encrypted = encrypted.trim();
}
Decrypt decrypter = new Decrypt(exponent, modulus);
return decrypt(decrypter, encrypted, email);*/
return new ClientKey(0, "yswwei@vip.sina.com", 2524600800000L);
}
private static ClientKey decrypt(Decrypt decrypter, String encrypted,
String email) {
String value = decrypter.decrypt(encrypted);
if (value == null) {
return new ClientKey(1, null, 0L);
}
String values[] = value.split(";");
int type = 1;
String genedEmail = null;
long expiration = 0L;
if (values.length == 3) {
if ("p".equals(values[0].toLowerCase())) {
type = 0;
}
genedEmail = values[1];
if (genedEmail != null) {
if (!genedEmail.equalsIgnoreCase(email)) {
genedEmail = "EMAILS_NON_MATCHING";
}
} else {
genedEmail = null;
}
try {
expiration = Long.parseLong(values[2]);
} catch (Exception _ex) {
expiration = 0L;
}
}
return new ClientKey(type, genedEmail, expiration);
}
public boolean isCloseToExpiring() {
return false;
}
public boolean isValid() {
return true;
}
public boolean isCloseToMatching() {
return false;
}
public boolean isExpired() {
return false;
}
public String getEmail() {
//把此处的Email修改为你自己的Email地址
return "yswwei@vip.sina.com";
}
public Calendar getExpiration() {
Calendar expirationCal = Calendar.getInstance(GMT);
//把此处的时间修改为授权到期时间
expirationCal.set(2010, 9, 9);
return expirationCal;
}
public boolean isTrial() {
return false;
}
public boolean isPro() {
return true;
}
public boolean shouldProPluginsRun() {
return true;
}
public static String trimEncryptedLicense(String encrypted) {
String newEncrypted = encrypted;
newEncrypted = newEncrypted.trim();
newEncrypted = newEncrypted.replaceAll("--begin-aptana-license--", "");
newEncrypted = newEncrypted.replaceAll("--end-aptana-license--", "");
newEncrypted = newEncrypted.replaceAll("\\s+", "");
return newEncrypted;
}
}
将上面代码存为.java文件,可以存在D盘,在cmd运行 d:\javac ClientKey.java
将编辑完成的两个.class文件,考到 ecplice/plugin/com.aptana.ide.core*.jar中,此文件用winrar打开,到com.aptana.ide.core.licensing下
发表评论
-
一个跨平台的DOMContentLoaded的解决方案
2009-03-26 17:22 1753一个跨平台的DOMContentLoaded的解决方案 ... -
遍历某个dom下的子节点
2009-03-24 16:22 2969var wrap = document.getElementB ... -
Extjs Combo连动
2009-03-16 17:29 4542lcombo.html <!DOCTYPE HTML ... -
利用AJAX取头部信息
2009-03-16 10:14 1196//取所有头部信息 xmlhttp.getAllRespons ... -
Extjs的Ajax Request源码流程分析
2009-03-12 10:29 1262图片太大,不让提交,只能使用链接了。 http://king ... -
http status 一览
2009-03-11 17:09 1107<PRE class=java name=&qu ... -
html5参考手册
2009-02-25 14:05 1557原文:http://www.w3school.com.cn ... -
分析yui结合flash的上传组件
2009-02-13 12:44 2017yui上传组件: http://developer.yahoo ... -
利用jsdt调试js
2008-12-18 16:36 22531、下载eclipse的插件,见附件 2、将plugin下的三 ... -
EXT Menu改变Menu的Layer class之后菜单功能失败的解决办法
2008-11-14 11:32 1555ext2中可以改变 Menu的class ,比如不想要前面的竖 ... -
ie的userdata 和 firefox的sessionStorage
2008-11-10 10:38 2530保存客户端数据,ie用userdata firefox用se ... -
js复制,兼容firefox和ie
2008-10-17 14:55 3150setClipboard: function(data, va ... -
解决ie中js生成的图片不显示的问题
2008-09-05 13:09 2207问题:js生成的dialog,而图片却不显示,如:var bu ... -
如何去除点击链接时出现的虚线框
2008-09-01 10:20 1675有时候在一个页面用到收放功能的时候时,总有一个虚线框在触发收放 ... -
转存附件用
2008-08-31 19:02 0test -
淘宝javascript类别多级下拉连动解析和改进
2008-08-31 18:57 3706效果地址:http://search1.taobao.com/ ... -
slice、pop的神奇用法
2008-08-29 14:45 1489slice 要取得一个数组或一个字串的某段时,那就用slice ... -
void(0)的作用
2008-08-26 14:48 1389经常见<a href="javascript: ... -
web前端结构与行为的分离
2008-08-05 17:53 1142web前端结构与行为的分 ... -
解决aptana代码不提示的问题
2008-08-05 11:47 4766都说aptana的代码提示功能很好,可是我的安装上之后怎么也不 ...
相关推荐
Aptana_Editor_1.2.6 for eclipse 3.2.x or 3.3.x part_1。 eclipse 的一个编辑 html、js、css 的免费插件。
Aptana_Editor_1.2.6 for eclipse 3.2.x or 3.3.x part_2。 eclipse 的一个编辑 html、js、css 的免费插件。
1. **代码编辑器**:Aptana的代码编辑器支持语法高亮、自动完成、实时错误检查和代码折叠,使得编写代码更为高效。对于JavaScript,它还提供了对ES6及更高级语法的支持。 2. **项目管理**:IDE允许用户创建、组织和...
对于Python开发者来说,Aptana提供了对Python 3.x的支持,包括3.6版本,使得Python开发更加便捷。 在安装Aptana Studio时,通常会涉及到以下步骤: 1. **下载安装包**:首先,你需要从官方网站或可靠的源下载...
1. **跨平台支持**:Aptana 3.4.2可在Windows、Mac OS X和Linux等操作系统上运行,满足不同开发者的需求。 2. **集成开发环境**:提供代码编辑、调试、版本控制和项目管理等一站式开发工具,使开发者能集中精力进行...
10. **多平台支持**:Aptana RadRails可以在Windows、Mac OS X和Linux等操作系统上运行。 为了正确安装和使用Aptana RadRails,你需要先下载所有分卷文件,并使用相应的工具(如HJSplit或WinRAR)按照正确的顺序...
1. **集成开发环境(IDE)**:Aptana作为一款IDE,提供了一个统一的工作空间,集成了编辑器、调试器、版本控制系统和其他开发工具,使得开发流程更加高效。 2. **代码高亮和自动完成**:支持HTML、CSS和JavaScript...
1. 首先,解压"remi-aptana-col-v2"文件到你的电脑上。 2. 打开Aptana IDE,进入“Window”菜单,选择“Preferences”。 3. 在打开的“Preferences”窗口中,导航至"General" > "Appearance" > "Color Theme"。 4. ...
1. **强大的代码编辑支持**:Aptana IDE提供了一流的代码编辑体验,包括智能代码完成、语法高亮、代码折叠等功能,帮助开发者更高效地编写代码。 2. **集成调试工具**:支持多种调试方式,包括断点设置、变量监视等...
(软件介绍:Aptana是一个...可以到网上搜索这个版本的JRE:jre-8u192-windows-x64.以上适合win 64位系统.如果是32位电脑系统,那需要自己网上下载32位的JRE.如果是想在Eclipse上添加Aptana插件,那在我另一个上传资源里面.
aptana3.6.1需要的软件:node-v0.10.13-x64,node-v0.10.13-x64,32bit_jre7以及配置文件,下载安装好就可以使用了。aptana3.6.1请官网自己下载。
1. `org.eclipse.platform.doc.user_3.6.2.r362_v20101117-0800.jar` - 这是Eclipse平台用户文档的JAR文件,包含了Eclipse 3.6.2版本的用户指南和帮助信息,便于开发者查阅API和其他开发相关资料。 2. `org.eclipse...
1. **跨平台支持**:Aptana Studio 可在 Windows、Mac OS X 和 Linux 上运行,这为不同操作系统下的开发者提供了便利。 2. **代码智能提示**:通过智能感知功能,Aptana Studio 能够根据代码上下文提供代码建议,...
1. **下载 Aptana 2.0 插件**: 从提供的链接或官方渠道下载 Aptana 2.0 Eclipse Plugin 插件。 2. **安装步骤**: - 解压插件包中的 `features` 和 `plugins` 文件夹,并将其复制到自定义插件目录(如 `E:\MyEclipse...
- **操作系统兼容性**:支持 Windows、Mac OS X 和 Linux 等主流操作系统。 - **安装过程**:遵循标准安装向导步骤即可完成安装,过程简单快捷。 - **初始配置**:根据个人喜好和项目需求进行配置,例如设置代码样式...
适用于 Wro4j Runner 的 Aptana Studio 3x 捆绑包 使用 Wro4j Runner 优化和/或最小化基于 Eclipse 的 IDE 中的 CSS/JS 文件。 作者 学分 链接 执照 此捆绑包在 MIT 和 GPL 许可下获得双重许可:
- 从Apache官方站点(tomcat.apache.org)获取Tomcat的最新稳定版本,例如6.x。这里下载的是apache-tomcat-6.0.20.exe。 - 按照默认设置安装Tomcat,但在安装过程中,确保在管理员密码环节设置一个自定义的密码。 -...
- 打开位于`plugins\org.python.pydev.debug_x.x.x.yyyymmddhh\pysrc\pydevd.py`的文件。 - 修改第920行的`encoding=None`为`encoding="UTF-8"`。 4. **创建Python项目** - 通过“File -> New -> Project”创建一...