diff --git a/src/main/java/com/tencentyun/TLSSigAPIv2.java b/src/main/java/com/tencentyun/TLSSigAPIv2.java index bcf1878..316d9d2 100755 --- a/src/main/java/com/tencentyun/TLSSigAPIv2.java +++ b/src/main/java/com/tencentyun/TLSSigAPIv2.java @@ -172,11 +172,13 @@ public byte[] genUserBuf(String account, long dwAuthID, long dwExpTime, int roomStrLength = RoomStr.length(); int offset = 0; int bufLength = 1 + 2 + accountLength + 20 ; + if (roomStrLength > 0) { + bufLength = bufLength + 2 + roomStrLength; + } byte[] userbuf = new byte[bufLength]; //cVer if (roomStrLength > 0) { - bufLength = bufLength + 2 + roomStrLength; userbuf[offset++] = 1; } else { userbuf[offset++] = 0; diff --git a/src/test/com/tencentyun/TLSSigAPITest.java b/src/test/com/tencentyun/TLSSigAPITest.java index 17f40aa..631d3b1 100755 --- a/src/test/com/tencentyun/TLSSigAPITest.java +++ b/src/test/com/tencentyun/TLSSigAPITest.java @@ -36,6 +36,12 @@ public void testGenSigWithUserBug() { TLSSigAPIv2 api = new TLSSigAPIv2(1400000000, "5bd2850fff3ecb11d7c805251c51ee463a25727bddc2385f3fa8bfee1bb93b5e"); System.out.println(api.genPrivateMapKey("xiaojun", 180 * 86400, 10000, 255)); } + //使用userbuf和字符串房间号生产privatemapkey + @Test + public void testGenSigWithUserBug() { + TLSSigAPIv2 api = new TLSSigAPIv2(1400000000, "5bd2850fff3ecb11d7c805251c51ee463a25727bddc2385f3fa8bfee1bb93b5e"); + System.out.println(api.genPrivateMapKeyWithStringRoomID("xiaojun", 180 * 86400, "100000000", 255)); + } /** * Method: hmacsha256(String identifier, long currTime, long expire) diff --git a/tls-sig-api-v2-java.iml b/tls-sig-api-v2-java.iml new file mode 100644 index 0000000..48426fc --- /dev/null +++ b/tls-sig-api-v2-java.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file