签名字符串
来源:互联网 发布:telnet 无法打开端口 编辑:程序博客网 时间:2024/06/07 06:41
/**
* 签名字符串
* @param text 需要签名的字符串
* @param key 密钥
* @param input_charset 编码格式
* @return 签名结果
*/
public static String sign(String text, String key, String input_charset) {
text = text +"&key="+ key;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(getContentBytes(text, input_charset));
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
//32位加密
return buf.toString();
// 16位的加密
//return buf.toString().substring(8, 24);
} catch (NoSuchAlgorithmException e) {
return null;
}
* 签名字符串
* @param text 需要签名的字符串
* @param key 密钥
* @param input_charset 编码格式
* @return 签名结果
*/
public static String sign(String text, String key, String input_charset) {
text = text +"&key="+ key;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(getContentBytes(text, input_charset));
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
//32位加密
return buf.toString();
// 16位的加密
//return buf.toString().substring(8, 24);
} catch (NoSuchAlgorithmException e) {
return null;
}
}
/**
* @param content
* @param charset
* @return
* @throws SignatureException
* @throws UnsupportedEncodingException
*/
private static byte[] getContentBytes(String content, String charset) {
if (charset == null || "".equals(charset)) {
return content.getBytes();
}
try {
return content.getBytes(charset);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("MD5签名过程中出现错误,指定的编码集不对,您目前指定的编码集是:" + charset);
}
}
阅读全文
0 0
- 签名字符串
- 字符串 签名认证
- CAP协议字符串签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- 签名
- Android Studio中apk签名打包 以及获取 应用签名字符串
- 签名,拼接字符串,微信支付,微信
- iOS - 需求 - 将参数进行字典排序组成字符串(待签名字符串)
- kafka 的offset的重置
- 深度解析Java 8:AbstractQueuedSynchronizer的实现分析(下)
- C# DataTable分页处理
- Python开篇——简介、pip和conda
- secureCrt个人操作手册
- 签名字符串
- redis(一)
- 处理springMVC返回json日期格式化
- PDF笔记(二):Itext 实际项目案例
- ES6 let & const
- 第十三周项目1---(5)拓扑排序算法验证
- 配置tomcat服务https协议
- 利用Java语言实现八种排序算法(中
- spring mvc 防止重复提交表单的两种方法,推荐第二种