您的位置:首页 > 其它

[置顶] 融云后台服务创建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));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: