[置顶] 融云后台服务创建token
2016-06-17 12:12
288 查看
public class RongUtils {
private static final String APPKEY = "RC-App-Key";
private static final String NONCE = "RC-Nonce";
private static final String TIMESTAMP = "RC-Timestamp";
private static final String SIGNATURE = "RC-Signature";
public static String getToken(String id) {
String nonce = String.valueOf(Math.random() * 1000000);
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
StringBuilder toSign = new StringBuilder("BIX27pwRm8Kd").append(nonce).append(timestamp);
String sign = CodeUtil.hexSHA1(toSign.toString());
Map<String, String> headers = new HashMap<String, String>();
headers.put(APPKEY, "");
headers.put(NONCE, nonce);
headers.put(TIMESTAMP, timestamp);
headers.put(SIGNATURE, sign);
headers.put("Content-Type", "application/x-www-form-urlencoded");
JSONObject json = JSON.parseObject(HttpUtils.post("http://api.cn.ronghub.com/user/getToken.json", "portraitUri=&name=&userId=" + id, headers).getContent());
return json.getString("token");
}
}
1:生成TOKEN
2:SHA1
public class CodeUtil {
public static String hexSHA1(String value) {
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(value.getBytes("utf-8"));
byte[] digest = md.digest();
return byteToHexString(digest);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
public static String byteToHexString(byte[] bytes) {
return String.valueOf(Hex.encodeHex(bytes));
}
}
private static final String APPKEY = "RC-App-Key";
private static final String NONCE = "RC-Nonce";
private static final String TIMESTAMP = "RC-Timestamp";
private static final String SIGNATURE = "RC-Signature";
public static String getToken(String id) {
String nonce = String.valueOf(Math.random() * 1000000);
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
StringBuilder toSign = new StringBuilder("BIX27pwRm8Kd").append(nonce).append(timestamp);
String sign = CodeUtil.hexSHA1(toSign.toString());
Map<String, String> headers = new HashMap<String, String>();
headers.put(APPKEY, "");
headers.put(NONCE, nonce);
headers.put(TIMESTAMP, timestamp);
headers.put(SIGNATURE, sign);
headers.put("Content-Type", "application/x-www-form-urlencoded");
JSONObject json = JSON.parseObject(HttpUtils.post("http://api.cn.ronghub.com/user/getToken.json", "portraitUri=&name=&userId=" + id, headers).getContent());
return json.getString("token");
}
}
1:生成TOKEN
2:SHA1
public class CodeUtil {
public static String hexSHA1(String value) {
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(value.getBytes("utf-8"));
byte[] digest = md.digest();
return byteToHexString(digest);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
public static String byteToHexString(byte[] bytes) {
return String.valueOf(Hex.encodeHex(bytes));
}
}
相关文章推荐
- PS制作中国古代风格的封面
- 第三方包属性的定义(这里是以刷新库为例)
- spring mvc数据绑定
- 多进程单线程模型与单进程多线程模型之争
- Ionic Js十一:模态
- 明天软软onsite
- Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError: PermGen space的解决方案
- 学院引我走向新世界
- JAVA JDK1.5-1.9新特性
- [黑金原创教程] FPGA那些事儿《设计篇 II》- 图像处理前夕·续
- U3D前后端开发知识体系
- Android studio一些快捷键的使用介绍
- Android开发之JSON数据的格式问题
- 未通过ovf规范一致性或虚拟硬件合规性检查
- spring注解 总结
- php array
- Git与SourceTree使用详细指南
- ghost linux
- 终端内容输出的同时保存到文件 tee
- 构建高效安全的Nginx Web服务器