本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9713085
建立时间:2004年12月20日




[j2ee]spring的FactoryBean的使用
原创空间,  软件技术

邢红瑞 发表于 2005/10/7 11:33:19

spring的FactoryBean的功很强大,尤其用于Singleton模式,注意不是beanFactory下面给个md5加密后,再使用base64加密的例子,这个例子是网上找的,经过我的修改MessageDigestFactoryBean.javaimport java.security.MessageDigest; import org.springframework.beans.factory.FactoryBean;import org.springframework.beans.factory.InitializingBean; public class MessageDigestFactoryBean implements FactoryBean, InitializingBean {     private String algorithmName = "MD5";     private MessageDigest messageDigest = null;     public Object getObject() throws Exception {       return messageDigest;    }     public Class getObjectType() {       return MessageDigest.class;    }     public boolean isSingleton() {       return true;    }     public void afterPropertiesSet() throws Exception {        messageDigest = MessageDigest.getInstance(algorithmName);    }     public void setAlgorithmName(String algorithmName) {        this.algorithmName = algorithmName;    } } MessageDigester.javaimport java.security.MessageDigest; import sun.misc.BASE64Encoder;   public class MessageDigester {     private MessageDigest digest = null;     public void setDigest(MessageDigest digest) {        this.digest = digest;    }      public String digest(String msg) {         return digest(msg, digest);     }     private String digest(String msg, MessageDigest digest) {         digest.reset();        byte[] bytes = msg.getBytes();        byte[] out = digest.digest(bytes);        BASE64Encoder enc = new BASE64Encoder();        return  enc.encode(out);    }} 配置文件 <bean id="md5Digest" class="com.xxx.auth.util.MessageDigestFactoryBean">        <property name="algorithmName">            <value>MD5</value>        </property>    </bean>     <bean id="digester" class="com.xxx.auth.util.MessageDigester">        <property name="digest">            <ref local="md5Digest"/>        </property>     </bean>使用spring的IOC机制<property name="digester">            <ref local="digester" /></property> public MessageDigester getDigester() {        return digester;    }     public void setDigester(MessageDigester digester) {        this.digester = digester;    }     private MessageDigester digester;使用代码 thepassword = digester.digest(thepassword);可以轻松的改为SHA-1加密    


阅读全文(5620) | 回复(1) | 编辑 | 精华
 


回复:spring的FactoryBean的使用
原创空间,  软件技术

兰若水(游客)发表评论于2008/4/25 11:43:58

大哥 写的真不错


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144802912 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号