从网上下了 JIRA 4.0 的使用版。由于项目需要需找到 JIRA 中对用户加密的代码进行改造。网上 Google 了N遍,但是没查到那个代码在哪里。
不过经过自己这两天的探索,嘿嘿。还是搞定了。。。 现在和大家分享~!
先说说加密的代码位置:(从安装目录开始)atlassian-jira/WEB-INF/lib/atlassian-osuser-1.1.1.jar
很多文件都是 class 文件,我就是直接用 JD 打开的。进行反编译。
打开 atlassian-osuser-1.1.1.jar , 依次打开 com.opensymphony.user.provider.ejb.util 。
Base64.java 和 PasswordDigester.java 就是给用户密码加密的代码了。
不过 JD 反编译出来的 PasswordDigester.java 有问题。后来去网上查了资料替换了原来的代码。我贴在下面了。。。
下面是给密码加密的方法入口:
打开包:com.opensymphony.user.provider.hibernate.impl,HibernateUserImpl.java 就是加密的方法入口。 贴出部分代码:
如果自己要测试加密后的代码只要自己在 MyEclipse 中随便建一个 java 工程,导入 Base64.java 和 PassworDigester.java
然后建个 Test.java , 写上如上所示的 createHash() 方法就是的。。。
// 很多地方会看到调用了 UserUtils 这个类。这个在 atlassian-jira/WEB-INF/lib/atlassian-core-4.5.2.jar, com.atlassian.core.user 下面。
备注:本文转载自:http://blog.csdn.net/laolu90/archive/2010/03/05/5349444.aspx