`
ssxxjjii
  • 浏览: 950705 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开源roller blog中的加解密

阅读更多

/**
     * Encode a string using algorithm specified in web.xml and return the
     * resulting encrypted password. If exception, the plain credentials
     * string is returned
     *
     * @param password Password or other credentials to use in authenticating
     *        this username
     * @param algorithm Algorithm used to do the digest(加密算法:MD5,SHA)
     *
     * @return encypted password based on the algorithm.
     */
    public static String encodePassword(String password, String algorithm) {
        byte[] unencodedPassword = password.getBytes();
        
        MessageDigest md = null;
        
        try {
            // first create an instance, given the provider
            md = MessageDigest.getInstance(algorithm);
        } catch (Exception e) {
            mLogger.error("Exception: " + e);
            return password;
        }
        
        md.reset();
        
        // call the update method one or more times
        // (useful when you don't know the size of your data, eg. stream)
        md.update(unencodedPassword);
        
        // now calculate the hash
        byte[] encodedPassword = md.digest();
        
        StringBuffer buf = new StringBuffer();
        
        for (int i = 0; i < encodedPassword.length; i++) {
            if ((encodedPassword[i] & 0xff) < 0x10) {
                buf.append("0");
            }
            
            buf.append(Long.toString(encodedPassword[i] & 0xff, 16));
        }
        
        return buf.toString();
    }
    
    /**
     * Encode a string using Base64 encoding. Used when storing passwords
     * as cookies.
     *
     * This is weak encoding in that anyone can use the decodeString
     * routine to reverse the encoding.
     *
     * @param str
     * @return String
     * @throws IOException
     */
    public static String encodeString(String str) throws IOException {
        Base64 base64 = new Base64();
        String encodedStr = new String(base64.encodeBase64(str.getBytes()));        
        return (encodedStr.trim());
    }
    
    /**
     * Decode a string using Base64 encoding.
     *
     * @param str
     * @return String
     * @throws IOException
     */
    public static String decodeString(String str) throws IOException {
        Base64 base64 = new Base64();
        String value = new String(base64.decodeBase64(str.getBytes()));        
        return (value);
    }
    
 
分享到:
评论

相关推荐

    开源Java博客Roller v5.0 for tomcat.zip

    Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...

    开源Java博客Roller v5.0 for tomcat

    Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...

    roller

    标题中的"roller"很可能指的是Apache Roller,一个开源的博客服务器平台。这个平台允许用户创建、管理和发布多个博客,并且提供了丰富的API供开发者扩展其功能。接下来,我们将深入探讨与"roller"相关的技术知识点。...

    开源博客 支持多用户

    本文将深入探讨如何在Tomcat服务器上配置并运行一个开源博客系统,特别是提及的"roller-customer.properties"配置文件。 1. **开源博客系统概述** 开源博客系统如WordPress、Joomla、Drupal或本文提到的Roller,都...

    开源博客代码

    开源博客代码是一个面向开发者的学习资源,它基于ROller项目,提供了最新的源代码。ROller是一个功能丰富的博客系统,它的最新版本是5.0.2。这个开源项目采用了一系列先进的Java技术,包括MAVEN(项目管理和构建工具...

    apache优秀Java开源项目源代码—— apache-roller!

    Apache Roller是一款功能强大的开源博客系统,它由Apache软件基金会维护,是Java开发者学习和研究的绝佳实例。通过深入分析Roller的源代码,我们可以了解到Java Web应用开发的多个关键知识点,包括但不限于以下方面...

    3DMAX卷曲修改器Roller下载

    在3DMAX中,卷曲修改器是实现复杂动态效果的重要工具,而Roller正是这样一款专为卷曲效果设计的插件。这款插件能够帮助用户轻松创建出卷曲形状的模型,不仅限于静态的造型,还能生成逼真的卷曲和展开的动画效果。 ...

    Roller初体验

    在IT领域,Roller是一款开源的Java博客系统,它提供了丰富的功能,便于用户创建、管理和分享个人或团队的博客内容。本文将围绕Roller的初体验,深入探讨其核心特性,源码结构以及如何与Tomcat服务器集成。 【描述】...

    roller安装

    "roller"是一个颇受欢迎的开源博客引擎,它为开发者提供了一个强大的平台来创建、管理和发布个人或组织的博客内容。本文将详细讲解roller的安装过程,并结合源码分析,探讨其工具的应用。 首先,我们了解roller的...

    开源博客系统大全.pdf

    下面将详细介绍几个流行的开源博客系统,包括WordPress、LifeType、Roller、TQBlog和emlog。 1. WordPress:WordPress是最受欢迎的开源博客系统之一,基于PHP和MySQL构建。它的特点包括文章的发布、分类和归档,...

    Dragon Roller-开源

    【Dragon Roller - 开源软件详解】 ...开源特性使得 Dragon Roller 不断进步,适应更多玩家的需求,成为D&D游戏中的得力助手。如果你是一名D&D玩家,不妨尝试一下 Dragon Roller,体验它为你带来的便利。

    博客(Blog)-Roller Weblogger ,MeEclipse下搭建

    1. **博客(Blog)和Roller Weblogger介绍**: 博客即网络日志,是一种通常按时间顺序排列的在线出版物,内容通常为个人所见、所闻、所思。Roller Weblogger(简称Roller)是基于Java开发的一个开源博客系统,可作为...

    File Roller-开源

    **File Roller - 开源存档管理器** File Roller是一款专为GNOME桌面环境设计的开源存档管理器,它提供了一种用户友好的界面来创建、管理和查看各种类型的压缩文件。作为开源软件,File Roller遵循自由软件的精神,...

    roller5 for tomcat

    首先,Roller 5是一款开源的博客和内容管理系统,它提供了一整套完善的博客功能,包括文章撰写、评论管理、用户权限控制、主题定制等。而Tomcat作为Apache软件基金会的项目,是一个广泛使用的Java Servlet容器,支持...

    encryption-roller-开源

    "encryption-roller-开源"项目,即Encrypt-roller,是一个专为此目的而设计的开源工具。它集合了多种加密算法和策略,旨在为用户的数据提供强大且灵活的安全保障。 Encrypt-roller的核心功能在于其整合了多种加密...

    Java最著名的开源项目

    最后,Roller是一个开源的Weblogging应用,它为博客的创建和管理提供了一套完整的解决方案。Roller具备评论功能、所见即所得的HTML编辑器、TrackBack、页面模板、RSS syndication、blogroll管理等特性,并提供了一个...

Global site tag (gtag.js) - Google Analytics