crypto.scrypt() 메서드는 scrypt 메서드에 대한 비동기 구현을 제공합니다. scrypt는 무차별 대입 공격으로부터 시스템을 보호하고 무효화하는 암호 기반 키 파생 기능으로 정의할 수 있습니다. 그러나 스크립트 함수는 메모리와 마찬가지로 계산적으로도 비용이 많이 듭니다. 구문 crypto.scrypt(password, salt, keylen, [options], [callback]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 비밀번호 – 항목을 디코딩하는 데 필요한 암호 필드입니다. 문자열, 개체,
decipher.final()은 해독 객체의 값을 포함하는 버퍼 또는 문자열을 반환하는 데 사용됩니다. 암호화 모듈 내에서 Cipher 클래스가 제공하는 내장 메소드 중 하나입니다. decipher.final 메소드가 호출되면 decipher 메소드를 사용하여 데이터를 복호화할 수 없습니다. cipher.final 메소드를 두 번 이상 호출하면 오류가 발생합니다. 구문 decipher.final([outputEncoding]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다. - 출력인코딩 – 출력 인코딩을 매개변수로 사용
decipher.update()는 주어진 인코딩 형식에 따라 수신 데이터로 해독기를 업데이트하는 데 사용됩니다. 암호화 모듈 내 Decipher 클래스에서 제공하는 내장 메소드 중 하나입니다. 입력 인코딩이 지정되면 데이터 인수는 문자열이고, 그렇지 않으면 데이터 인수는 버퍼입니다. 구문 decipher.update(data, [inputEncoding], [outputEncoding]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 데이터 – 해독 내용을 업데이트하기 위해 전달되는 입력으로 데이터를 취합니다.
crypto.createCipheriv()는 crypto 모듈의 프로그래밍 인터페이스입니다. 주어진 알고리즘, 키, iv 및 함수에 전달된 옵션에 따라 Decipher 객체를 생성하고 반환합니다. 구문 crypto.createDecipheriv(알고리즘, 키, iv, [옵션]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 알고리즘 – 암호를 생성하는 데 사용할 알고리즘에 대한 입력을 받습니다. 가능한 값은 다음과 같습니다. es192, aes256 등 키 – 알고리즘 및 iv에서 사용하는 원시 키에 대한 입력을
crypto.createDiffieHellmanGroup()은 DiffieHellmanGroup을 생성하는 데 사용됩니다. 이 방법은 crypto.getDiffieHellman의 별칭으로도 참조할 수 있습니다. 구문 crypto.createDiffieHelmmanGroup(이름) 매개변수 위의 매개변수는 다음과 같이 설명됩니다. - 이름 – 그룹명을 입력 받습니다. 입력은 문자열 유형입니다. 예시 이름이 diffieHellmanGroup.js인 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을
crypto.createECDH()는 타원 곡선 Diffie-Hellman이라고도 하는 타원 곡선, 즉 입력 매개변수인 curveName에 의해 사전 정의된 곡선을 사용하는 ECDH를 생성하는 데 사용됩니다. crypto.getCurves를 사용하여 사용 가능한 모든 곡선 이름 목록을 가져올 수 있습니다. 이 방법은 암호화 모듈의 일부입니다. 구문 crypto.createECDH(곡선 이름) 매개변수 위의 매개변수는 다음과 같이 설명됩니다. 곡선 이름 – 커브 이름에 대한 입력을 받습니다. 이 curveName은 ECDH를
crypto.createSign()은 매개변수에 전달된 알고리즘을 사용하는 기호 객체를 생성하고 반환합니다. 사용 가능한 모든 다이제스트 알고리즘의 이름을 가져오기 위해 crypto.getHashes()를 사용할 수 있습니다. 일부 경우에만 다이제스트 알고리즘 대신 RHA-SHA256과 같은 서명 알고리즘의 이름을 사용하여 Sign 인스턴스를 생성할 수 있습니다. 구문 crypto.createSign(algorithm, [options]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 알고리즘 – 기호 객체/인스턴스를
crypto.createVerify()는 매개변수에 전달된 알고리즘을 사용하는 검증 객체를 생성하고 반환합니다. crypto.getHashes()를 사용하여 사용 가능한 모든 서명 알고리즘의 이름을 가져올 수 있습니다. 일부 경우에만 다이제스트 알고리즘 대신 RHA-SHA256과 같은 서명 알고리즘의 이름을 사용하여 Verify 인스턴스를 생성할 수 있습니다. 구문 crypto.createVerify(algorithm, [options]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다. - 알고리즘 – 검증 객체/인스턴스
crypto.generateKeyPair()는 지정된 유형의 새로운 비대칭 키 쌍을 생성하는 데 사용할 수 있습니다. 키 쌍 생성에 지원되는 유형은 RSA, DSA, EC, Ed25519, Ed448, X25519, X448 및 DH입니다. 이 함수는 publicKeyEncoding 또는 privateKeyEncoding이 지정될 때 결과에 대해 keyObject.export가 호출된 것처럼 작동합니다. 그렇지 않으면 keyObject의 해당 부분이 반환됩니다. 구문 crypto.generateKeyPair(유형, 옵션, 콜백)
crypto.generateKeyPairSync()를 사용하여 동기화 흐름에서 지정된 유형의 새로운 비대칭 키 쌍을 생성할 수 있습니다. 키 쌍 생성에 지원되는 유형은 RSA, DSA, EC, Ed25519, Ed448, X25519, X448 및 DH입니다. 이 함수는 publicKeyEncoding 또는 privateKeyEncoding이 지정될 때 결과에 대해 keyObject.export가 호출된 것처럼 동작합니다. 그렇지 않으면 keyObject의 해당 부분이 반환됩니다. 공개 키는 spki, 개인 키는 pkcs8로 제
crypto.getCiphers() 메서드는 지원되는 모든 암호 알고리즘의 이름이 포함된 배열을 반환합니다. 크립토 패키지에는 우리가 사용할 수 있는 수많은 암호 알고리즘 목록이 있습니다. 그러나 가장 많이 사용되는 암호 알고리즘은 AES – Advanced Encryption Standard입니다. 구문 crypto.getCiphers() 매개변수 모든 암호 알고리즘의 목록을 반환하기 때문입니다. 입력이 필요하지 않습니다. 예시 getCipher.js라는 이름의 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다
crypto.getCurves() 메서드는 지원되는 모든 타원 곡선의 이름이 포함된 배열을 반환합니다. 암호화 패키지에는 ECDH(Elliptic Curve Diffie-Hellman) 키 교환 개체를 생성하는 데 사용할 수 있는 방대한 타원 곡선 목록이 있습니다. 구문 crypto.getCurves() 매개변수 모든 타원 곡선의 목록을 반환하기 때문입니다. 인수가 필요하지 않습니다. 예시 Curves.js라는 이름의 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래 예와 같이 이 코드를
crypto.createDiffieHellmanGroup()은 미리 결정된 DiffieHellmanGroup 키 교환 객체를 생성하는 데 사용됩니다. 지원되는 DiffieHellmanGroups 중 일부는 modp1, modp2, modp5, modp 14, modp16, modp17 등입니다. 이 방법을 사용하면 당사자가 그룹 계수를 생성하거나 교환할 필요가 없으므로 처리 시간이 절약된다는 이점이 있습니다. 구문 crypto.getDiffieHelmmanGroup(groupName) 매개변수 위의 매개변수는 다음과 같이 설명됩니
crypto.createHmac() 메서드는 Hmac 개체를 만든 다음 반환합니다. 이 Hmac은 전달된 알고리즘과 키를 사용합니다. 스트림 동작을 제어하는 데 선택적 옵션이 사용됩니다. 정의된 키는 암호화 HMAC 해시를 생성하는 데 사용되는 HMAC 키입니다. 구문 crypto.createHmac(algorithm, key, [options]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 알고리즘 – 이 알고리즘은 Hmac 객체를 생성하는 데 사용됩니다. 입력 유형은 문자열입니다. 키 – 암호화 Hma
암호 기반 키 파생 함수라고도 하는 crypto.pbkdf2()는 파생 함수의 비동기 구현을 제공합니다. 키는 암호, 솔트 및 반복에서 지정된 알고리즘의 Hmac 다이제스트를 사용하여 파생됩니다. 구문 crypto.createHmac(알고리즘, 키, [옵션]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 비밀번호 – 요청된 바이트 길이의 키를 가져오기 위해 정의된 암호입니다. 가능한 값은 문자열, DataView, Buffer 등입니다. 소금 – 키를 얻기 위한 비밀번호와 유사합니다. 가능한 값은 문자열, D
암호 기반 키 파생 함수 2라고도 하는 crypto.pbkdf2Sync()는 파생 함수의 동기 구현을 제공합니다. 키는 암호, 솔트 및 반복에서 지정된 알고리즘의 Hmac 다이제스트를 사용하여 파생됩니다. 이렇게 하면 동기화 프로세스에서 키가 생성됩니다. 구문 crypto.createHmac(알고리즘, 키, [옵션]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 비밀번호 – 요청된 바이트 길이의 키를 가져오기 위해 정의된 암호입니다. 가능한 값은 문자열, DataView, Buffer 등입니다. 소금 – 키를
crypto.randomBytes()는 암호학적으로 강력한 의사 난수 데이터를 생성합니다. 이 방법은 생성된 바이트에 엔트로피가 충분할 때까지 완료되지 않습니다. 그러나 이 후에도 몇 밀리초 이상 걸리지 않습니다. 이 방법은 기본적으로 추가로 사용되는 몇 개의 임의 바이트를 생성합니다. 구문 crypto.randomBytes(크기, [콜백]) 매개변수 위의 매개변수는 다음과 같이 설명됩니다 - 크기 – 이 인수는 생성할 바이트 수를 정의합니다. 크기는 2**31 – 1보다 커서는 안 됩니다. 콜백 – 메소드에 오류가
agent.maxFreeSockets 속성은 자유 상태에 있는 동안 열려 있는 소켓의 수를 정의합니다. 이것은 http 모듈 인터페이스의 일부입니다. 구문 agent.maxFreeSockets :숫자 매개변수 위의 함수는 다음 매개변수를 받아들일 수 있습니다 - 숫자 – 이는 free 상태에서 열린 상태로 유지될 수 있는 소켓의 수를 정의합니다. 기본값은 256으로 설정되어 있습니다. 예 이름이 maxFreeSockets.js인 파일을 만들고 아래 코드 조각을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여 아래
agent.maxSockets 속성은 각 오리진에 대해 에이전트가 동시에 열 수 있는 소켓 수를 정의합니다. 기본적으로 이 값은 무한대로 설정됩니다. 이것은 또한 http 모듈의 일부입니다. 구문 agent.maxSockets:숫자 매개변수 위의 함수는 다음 매개변수를 받아들일 수 있습니다. - 숫자 – 에이전트가 가질 수 있는 동시 소켓 수를 정의합니다. 기본값은 무한대로 설정되어 있습니다. 예시 이름이 maxSockets.js인 파일을 만들고 아래 코드 스니펫을 복사합니다. 파일을 생성한 후 다음 명령을 사용하여
async 모듈은 nodejs 애플리케이션에서 비동기 자바스크립트로 작업할 수 있는 다양한 기능을 제공합니다. async.queue() 메서드는 프로세스의 동시 처리, 즉 한 번에 항목을 여러 번 처리하는 데 추가로 사용되는 대기열을 반환합니다. async.queue() 설치 및 사용 1단계 − 다음 명령을 실행하여 노드 패키지 관리자를 초기화합니다. npm init 2단계 − 다음 명령어를 사용하여 async 모듈을 설치합니다. npm install --save async 3단계 − 프로그램에서 아래 명령문을 사용하여 비동기