菜鳥日記(yzy) 微信公眾號網頁的開發-websocket
阿新 • • 發佈:2019-01-04
public class keyUnit {
public Logger log = Logger.getLogger(keyUnit.class);
public static String getAccept(String key){
String mask = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
String accept = key + mask;
StringBuilder sb = new StringBuilder();
try{
MessageDigest mdDigest = MessageDigest.getInstance("SHA-1");
mdDigest.update(accept.getBytes("utf-8"),0,accept.length());
byte[] shalHash = mdDigest.digest();
System.out.println(bytesToHexString(shalHash));
accept = base64Encode(shalHash);
System.out.println(accept);
}catch(Exception e){
e.printStackTrace();
}
String rtn = "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "
+ accept + "\r\n\r\n";
return accept;
}
public static String base64Encode(byte[] bytes){
return new String(Base64.encode(bytes));
}
public static String bytesToHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(0xFF & bytes[i]);
if (hex.length() == 1) {
sb.append('0');
}
sb.append(hex);
}
return sb.toString();
}
}
public Logger log = Logger.getLogger(keyUnit.class);
public static String getAccept(String key){
String mask = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
String accept = key + mask;
StringBuilder sb = new StringBuilder();
try{
MessageDigest mdDigest = MessageDigest.getInstance("SHA-1");
mdDigest.update(accept.getBytes("utf-8"),0,accept.length());
byte[] shalHash = mdDigest.digest();
System.out.println(bytesToHexString(shalHash));
accept = base64Encode(shalHash);
System.out.println(accept);
}catch(Exception e){
e.printStackTrace();
}
String rtn = "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "
+ accept + "\r\n\r\n";
return accept;
}
public static String base64Encode(byte[] bytes){
return new String(Base64.encode(bytes));
}
public static String bytesToHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(0xFF & bytes[i]);
if (hex.length() == 1) {
sb.append('0');
}
sb.append(hex);
}
return sb.toString();
}
}