From 88265333ab47acdaa2a8c032014f09af1e3865dc Mon Sep 17 00:00:00 2001 From: M4rk9696 Date: Wed, 4 Sep 2019 19:50:13 +0530 Subject: [PATCH] Refractor createMask logic with crypto getRandomValues --- ws/mod.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ws/mod.ts b/ws/mod.ts index df8cab01f8ec..9ad76299c390 100644 --- a/ws/mod.ts +++ b/ws/mod.ts @@ -188,11 +188,7 @@ export async function readFrame(buf: BufReader): Promise { // Create client-to-server mask, random 32bit number function createMask(): Uint8Array { - // TODO: use secure and immutable random function. Crypto.getRandomValues() - const arr = Array.from({ length: 4 }).map( - (): number => Math.round(Math.random() * 0xff) - ); - return new Uint8Array(arr); + return crypto.getRandomValues(new Uint8Array(4)); } class WebSocketImpl implements WebSocket {