1. 程式人生 > >菜鳥日記(yzy) 微信公眾號網頁的開發-websocket

菜鳥日記(yzy) 微信公眾號網頁的開發-websocket

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();
}
}