라이브러리

[PHP] crypt - 단방향 문자열 해싱




PHP의 crypt 함수


PHP의 crypt 함수는 암호화 함수로, 사용자 입력을 암호화하여 저장할 수 있습니다. 이 함수는 다양한 암호화 알고리즘을 지원하며, 기본적으로 SHA-256을 사용합니다.

암호화 알고리즘


PHP의 crypt 함수는 다양한 암호화 알고리즘을 지원합니다. 이 중에서 몇 가지 주요 알고리즘을 살펴보겠습니다.

* SHA-256: 이 알고리즘은 SHA-256 암호화 알고리즘을 사용합니다. 이 알고리즘은 사용자 입력을 256비트로 암호화합니다.
* MD5: 이 알고리즘은 MD5 암호화 알고리즘을 사용합니다. 이 알고리즘은 사용자 입력을 128비트로 암호화합니다.
* BLOWFISH: 이 알고리즘은 BLOWFISH 암호화 알고리즘을 사용합니다. 이 알고리즘은 사용자 입력을 64비트로 암호화합니다.

예제


다음 예제는 SHA-256 암호화 알고리즘을 사용하여 사용자 입력을 암호화하는 방법을 보여줍니다.

#hostingforum.kr
php

function 암호화($input) {

    $salt = 'salt'; // salt는 고정된 문자열

    $algorithm = 'sha256'; // 암호화 알고리즘

    $password = crypt($input, '$' . $algorithm . '$' . $salt);

    return $password;

}



$input = 'password';

$password = 암호화($input);

echo $password;



이 예제에서, `암호화` 함수는 사용자 입력을 암호화하여 반환합니다. `$salt` 변수는 고정된 문자열로, 암호화 알고리즘에 사용됩니다. `$algorithm` 변수는 암호화 알고리즘을 지정합니다. `$password` 변수는 암호화된 사용자 입력을 저장합니다.

사용자 입력을 저장하는 방법


다음 예제는 사용자 입력을 암호화하여 데이터베이스에 저장하는 방법을 보여줍니다.

#hostingforum.kr
php

function 암호화($input) {

    $salt = 'salt'; // salt는 고정된 문자열

    $algorithm = 'sha256'; // 암호화 알고리즘

    $password = crypt($input, '$' . $algorithm . '$' . $salt);

    return $password;

}



$input = 'password';

$password = 암호화($input);



// 데이터베이스에 저장

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $stmt = $pdo->prepare('INSERT INTO users (username, password) VALUES (:username, :password)');

    $stmt->bindParam(':username', 'myuser');

    $stmt->bindParam(':password', $password);

    $stmt->execute();

} catch (PDOException $e) {

    echo 'Error: ' . $e->getMessage();

}



이 예제에서, `암호화` 함수는 사용자 입력을 암호화하여 반환합니다. 암호화된 사용자 입력은 데이터베이스에 저장됩니다.

참고


* PHP의 crypt 함수는 다양한 암호화 알고리즘을 지원합니다. 사용할 알고리즘을 선택할 때, 보안을 고려하여 선택해야 합니다.
* 사용자 입력을 암호화할 때, 고정된 문자열을 사용하여 salt를 생성해야 합니다. 이 문자열은 암호화 알고리즘에 사용됩니다.
* 암호화된 사용자 입력을 저장할 때, 데이터베이스에 저장해야 합니다. 이때, 암호화된 사용자 입력을 저장하는 대신, 암호화 알고리즘과 salt를 저장하는 것이 좋습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색