public static String generateWebSocketAccept(String webSocketKey) {
        String keyString = webSocketKey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
            byte[] hash = messageDigest.digest(keyString.getBytes(StandardCharsets.UTF_8));
            return Base64.encodeToString(hash, Base64.NO_WRAP);
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("SHA-1 algorithm not found", e);
        }
    } 
参数webSocketKey是客户端请求过来的Sec-WebSocket-Key这个头。
具体的请求和响应的例子如下










