JFinal2.0 HashKit 这个是不是可以改改

Jobsz 发布于 2015/06/25 16:05
阅读 329
收藏 0

@JFinal , 下面的code是不是可以改改呢

public static String hash(String algorithm, String srcStr) {
		try {
			StringBuilder result = new StringBuilder();
			MessageDigest md = MessageDigest.getInstance(algorithm);
			byte[] bytes = md.digest(srcStr.getBytes("utf-8"));
			for (byte b : bytes) {
				String hex = Integer.toHexString(b&0xFF);
				if (hex.length() == 1)
					result.append("0");
				result.append(hex);
			}
			return result.toString();
		}
		catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
	private static String toHex(byte[] bytes) {
		StringBuilder result = new StringBuilder();
		for (byte b : bytes) {
			String hex = Integer.toHexString(b&0xFF);
			if (hex.length() == 1)
				result.append("0");
			result.append(hex);
		}
		return result.toString();
	}



加载中
0
如梦技术
如梦技术

其实可以把srcStr.getBytes("utf-8")这个放开,默认 utf-8,传了之后使用用户的字符集

因为很多银行接口还不是UTF-8 @波总可以考虑下哦~

0
JFinal
JFinal

引用来自“孤独的3”的评论

其实可以把srcStr.getBytes("utf-8")这个放开,默认 utf-8,传了之后使用用户的字符集

因为很多银行接口还不是UTF-8 @波总可以考虑下哦~

好建议,已备忘 
0
JFinal
JFinal
jfinal 2.1 考虑添加一个 encoding 参数,感谢支持 jfinal 发展 
0
Jobsz
Jobsz
@JFinal , 是不是可以这样?
public static String hash(String algorithm, String srcStr) {
        try {
            MessageDigest md = MessageDigest.getInstance(algorithm);
            byte[] bytes = md.digest(srcStr.getBytes("utf-8"));
            return this.toHex(bytes);
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
Jobsz
Jobsz
StrKit 其实里面很多方法都可以吧。 这样子,修改一点也不至于修改一通了。
JFinal
JFinal
oh my god, 抽取出来的方法忘了用了,可以
返回顶部
顶部