Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Node.js의 crypto.randomBytes() 메서드

<시간/>

crypto.randomBytes()는 암호학적으로 강력한 의사 난수 데이터를 생성합니다. 이 방법은 생성된 바이트에 엔트로피가 충분할 때까지 완료되지 않습니다. 그러나 이 후에도 몇 밀리초 이상 걸리지 않습니다. 이 방법은 기본적으로 추가로 사용되는 몇 개의 임의 바이트를 생성합니다.

구문

crypto.randomBytes(크기, [콜백])

매개변수

위의 매개변수는 다음과 같이 설명됩니다 -

  • 크기 – 이 인수는 생성할 바이트 수를 정의합니다. 크기는 2**31 – 1보다 커서는 안 됩니다.

  • 콜백 – 메소드에 오류가 발생하면 콜백이 호출됩니다.

예시

randomBytes.js라는 이름의 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래 예와 같이 이 코드를 실행하십시오 -

노드 randomBytes.js

randomBytes.js

// crypto.randomBytes() 비동기 데모 예제// 암호화 모듈 가져오기 const crypto =require('crypto');crypto.randomBytes(64, (err, buf) => { if (err) throw err; console .log(`${buf.length}바이트 임의 데이터:${buf.toString('hex')}`);});

출력

C:\home\node>> 노드 randomBytes.js64바이트 임의 데이터:eb2bcebb999407286caea729998e7fa0c089178f8ca43857e73ea3ff66dbe1852af24a4b0199be91982798

예시

예를 하나 더 살펴보겠습니다.

// crypto.randomBytes() 동기식 데모 예제// 암호화 모듈 가져오기 const crypto =require('crypto');const buffer =crypto.randomBytes(256);console.log( `${buffer.length} 바이트 임의의 데이터:${buffer.toString('base64')}`);

출력

 C :\ 홈 \ 노드>> 노드 randomBytes.js256 바이트 랜덤 데이터 :n7yfRMo / ujHfBWSF2VFdevG4WRbBoG9Fqwu51 + / + g + 9ZBUV6Qo88YG7IbcEaIer OgjMv4RyNQ6 / 67aF5xWmkOR3oA6J6bdAJ1pbstTuhIfItF1PQfP26YXk1QlaoKy / YJxPUngyK4kNG9O04aret4D 2qIq9BUaQcv + + + R9Xi014VKNUDZ YQKEaLHBhJMq6JgehJ56iNbdNJ4 PN7SQwjNdZ8gS76izAwYsSZ7Kuyx2VzdXIKsLmjleuJ2DZ7 + / + 6Yyn8WM9463dhuh0KQ5nwFbgzucvjmdvDjBlGFZBGlKs6AXqYh 0Oe6Ckkv3OpnXOJs + GExbmnvjaeDQ03khpdJfA ==