라이브러리

[PHP] sodium_crypto_box_seed_keypair - 단일 키에서 키 쌍을 결정적으로 파생합니다.




Sodium_crypto_box_seed_keypair란 무엇인가?

Sodium_crypto_box_seed_keypair는 PHP에서 제공하는 암호화 함수 중 하나로, 키 쌍을 생성하기 위해 seed 값을 사용하는 함수입니다. 이 함수는 libsodium 라이브러리를 기반으로 하며, 보안에 매우 강력한 함수입니다.

Sodium_crypto_box_seed_keypair 함수의 사용법

Sodium_crypto_box_seed_keypair 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 seed 값을 나타내는 문자열, 두 번째 인자는 키 쌍을 생성할 때 사용할 salt 값을 나타내는 문자열입니다.

#hostingforum.kr
php

function sodium_crypto_box_seed_keypair($seed, $salt) {

    // seed 값을 32바이트로 변환

    $seed = str_pad($seed, 32, "", STR_PAD_RIGHT);

    

    // salt 값을 32바이트로 변환

    $salt = str_pad($salt, 32, "", STR_PAD_RIGHT);

    

    // 키 쌍을 생성

    $publicKey = sodium_crypto_box_publickey_from_seed($seed);

    $secretKey = sodium_crypto_box_secretkey_from_seed($seed);

    

    return array($publicKey, $secretKey);

}



예제

#hostingforum.kr
php

// seed 값을 생성

$seed = "my_secret_seed";



// salt 값을 생성

$salt = "my_salt";



// 키 쌍을 생성

list($publicKey, $secretKey) = sodium_crypto_box_seed_keypair($seed, $salt);



// 키 쌍을 출력

echo "Public Key: " . bin2hex($publicKey) . "
";

echo "Secret Key: " . bin2hex($secretKey) . "
";



주의사항

* seed 값을 너무 짧게 생성하면 보안에 취약할 수 있습니다. seed 값을 생성할 때는 충분히 길고 난독화된 값을 사용하는 것이 좋습니다.
* salt 값을 생성할 때는 무작위로 생성하는 것이 좋습니다. salt 값을 생성할 때는 충분히 긴 값을 사용하는 것이 좋습니다.

참고

* libsodium 라이브러리는 PHP 7.2 이상에서 사용할 수 있습니다.
* sodium_crypto_box_seed_keypair 함수는 libsodium 1.0.18 이상에서 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 244 페이지

검색

게시물 검색