⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutil.java

📁 appfuse其他人不需帐号就可自由下载此源码
💻 JAVA
字号:
package org.appfuse.util;import java.io.IOException;import java.security.MessageDigest;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * String Utility Class This is used to encode passwords programmatically * * <p> * <a h * ref="StringUtil.java.html"><i>View Source</i></a> * </p> *  * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a> */public class StringUtil {    //~ Static fields/initializers =============================================    private final static Log log = LogFactory.getLog(StringUtil.class);    //~ Methods ================================================================    /**     * 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     *     * @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) {            log.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     */    public static String encodeString(String str)  {        sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();        return encoder.encodeBuffer(str.getBytes()).trim();    }    /**     * Decode a string using Base64 encoding.     *     * @param str     * @return String     */    public static String decodeString(String str) {        sun.misc.BASE64Decoder dec = new sun.misc.BASE64Decoder();        try {            return new String(dec.decodeBuffer(str));        } catch (IOException io) {        	throw new RuntimeException(io.getMessage(), io.getCause());        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -