라이브러리
[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를 저장하는 것이 좋습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.