/**
* 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);
}
分享到:
相关推荐
Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...
Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...
标题中的"roller"很可能指的是Apache Roller,一个开源的博客服务器平台。这个平台允许用户创建、管理和发布多个博客,并且提供了丰富的API供开发者扩展其功能。接下来,我们将深入探讨与"roller"相关的技术知识点。...
本文将深入探讨如何在Tomcat服务器上配置并运行一个开源博客系统,特别是提及的"roller-customer.properties"配置文件。 1. **开源博客系统概述** 开源博客系统如WordPress、Joomla、Drupal或本文提到的Roller,都...
开源博客代码是一个面向开发者的学习资源,它基于ROller项目,提供了最新的源代码。ROller是一个功能丰富的博客系统,它的最新版本是5.0.2。这个开源项目采用了一系列先进的Java技术,包括MAVEN(项目管理和构建工具...
Apache Roller是一款功能强大的开源博客系统,它由Apache软件基金会维护,是Java开发者学习和研究的绝佳实例。通过深入分析Roller的源代码,我们可以了解到Java Web应用开发的多个关键知识点,包括但不限于以下方面...
在3DMAX中,卷曲修改器是实现复杂动态效果的重要工具,而Roller正是这样一款专为卷曲效果设计的插件。这款插件能够帮助用户轻松创建出卷曲形状的模型,不仅限于静态的造型,还能生成逼真的卷曲和展开的动画效果。 ...
在IT领域,Roller是一款开源的Java博客系统,它提供了丰富的功能,便于用户创建、管理和分享个人或团队的博客内容。本文将围绕Roller的初体验,深入探讨其核心特性,源码结构以及如何与Tomcat服务器集成。 【描述】...
"roller"是一个颇受欢迎的开源博客引擎,它为开发者提供了一个强大的平台来创建、管理和发布个人或组织的博客内容。本文将详细讲解roller的安装过程,并结合源码分析,探讨其工具的应用。 首先,我们了解roller的...
下面将详细介绍几个流行的开源博客系统,包括WordPress、LifeType、Roller、TQBlog和emlog。 1. WordPress:WordPress是最受欢迎的开源博客系统之一,基于PHP和MySQL构建。它的特点包括文章的发布、分类和归档,...
【Dragon Roller - 开源软件详解】 ...开源特性使得 Dragon Roller 不断进步,适应更多玩家的需求,成为D&D游戏中的得力助手。如果你是一名D&D玩家,不妨尝试一下 Dragon Roller,体验它为你带来的便利。
1. **博客(Blog)和Roller Weblogger介绍**: 博客即网络日志,是一种通常按时间顺序排列的在线出版物,内容通常为个人所见、所闻、所思。Roller Weblogger(简称Roller)是基于Java开发的一个开源博客系统,可作为...
**File Roller - 开源存档管理器** File Roller是一款专为GNOME桌面环境设计的开源存档管理器,它提供了一种用户友好的界面来创建、管理和查看各种类型的压缩文件。作为开源软件,File Roller遵循自由软件的精神,...
首先,Roller 5是一款开源的博客和内容管理系统,它提供了一整套完善的博客功能,包括文章撰写、评论管理、用户权限控制、主题定制等。而Tomcat作为Apache软件基金会的项目,是一个广泛使用的Java Servlet容器,支持...
"encryption-roller-开源"项目,即Encrypt-roller,是一个专为此目的而设计的开源工具。它集合了多种加密算法和策略,旨在为用户的数据提供强大且灵活的安全保障。 Encrypt-roller的核心功能在于其整合了多种加密...
最后,Roller是一个开源的Weblogging应用,它为博客的创建和管理提供了一套完整的解决方案。Roller具备评论功能、所见即所得的HTML编辑器、TrackBack、页面模板、RSS syndication、blogroll管理等特性,并提供了一个...