>  기사  >  백엔드 개발  >  PHP를 암호화하여 배포할 수 있나요?

PHP를 암호화하여 배포할 수 있나요?

(*-*)浩
(*-*)浩원래의
2019-09-18 11:25:094616검색

암호화의 목적

PHP를 암호화하여 배포할 수 있나요?

암호화는 비밀번호와는 다릅니다. 암호화의 목적은 일반 텍스트 정보(사람이나 기계가 직접 읽을 수 있는 정보)를 텍스트로 변환하는 것입니다. 의미가 없는 문자로 보이는 정보는 사전에 합의된 암호 해독 규칙을 통과하여 해당 정보를 다시 의미 있고 읽을 수 있는 정보로 변환해야 암호화를 통해 무단 정보 도용을 방지할 수 있습니다.

PHP 암호화 기능 (추천 학습: 입력부터 마스터까지의 PHP 프로그래밍)

PHP 암호화 기능에는 crypt(), md5(), sha1()이 포함되며, 그 중 crypt()는 단방향 암호화에 사용됩니다. 일명 단방향 암호화란 암호화해야 하는 내용을 암호화한 후에는 암호문을 읽을 수 있는 내용으로 변환할 수 없다는 의미이므로 단방향 암호화의 적용 범위가 좁아 일반적으로 사용자 이름 인증에 사용됩니다. 사용자가 시스템에 들어갈 때 암호문 비밀번호만 입력하면 시스템이 저장된 비밀번호와 일치하는지 확인한 후 통과할 수 있습니다.

md5() 및 sha1()은 되돌릴 수 없는 알고리즘에 속합니다. 초기 정보를 가로채서 변환하면 결과 내용이 해시 값이 되며 길이가 고정됩니다. 이처럼 정보가 손실되더라도 해시값을 분석하는 것은 의미가 없다. 왜냐하면 원본 정보와 직접적인 연관이 없기 때문에 강력한 암호화 기능을 갖고 있기 때문이다. md5()는 MD5 해시 알고리즘을 사용하여 가변 길이 메시지를 128비트 메시지 다이제스트로 변환합니다.

sha1() 함수는 SHA-1 해싱 알고리즘을 사용하며 그 원리는 md5()와 유사합니다.

md5() 및 sha1()은 정보의 무결성을 확인하는 데, 즉 파일의 해시 값을 계산하여 파일이 수정되었는지 확인하는 데 자주 사용됩니다. 따라서 PHP에서 정보의 해시 값을 계산하려면 두 가지 함수가 필요합니다. md5_file() 및 sha1_file()에서 계산된 해시 값이 원래 값과 다른 것으로 확인되면 파일이 수정된 것으로 판단할 수 있습니다.

이 세 가지 기능은 작동이 간단하지만 모두 되돌릴 수 없으며 암호문을 해독할 수 없습니다. 그러나 상위 수준 암호화 작업에서는 이러한 간단한 암호화 기능의 암호화 효과가 다소 제한됩니다.

암호화는 항상 보안과 분리될 수 없으며 모든 PHPer는 필요한 설계 아이디어로 애플리케이션 보안을 코드에 통합해야 합니다. 다음은 몇 가지 모범 사례 제안입니다.

MD5도 안쓰고, sha1도 안쓰고, 기본적으로 크랙하는데 어려움은 없습니다.

password_hash를 사용하여 비밀번호를 해시하십시오(php 버전은 5.5 이상, 5.5 미만, Password_compat 라이브러리를 사용하십시오). 왜냐하면password_hash 함수가 솔팅을 처리하는 데 도움이 되었고 솔트로 사용된 임의 문자열이 있기 때문입니다. 암호화 알고리즘을 통해 해시가 되었는데, 해시의 일부로, Password_verify() 함수가 자동으로 해시에서 솔트를 추출하므로, 솔트 저장에 대해 걱정할 필요가 없습니다.

통신 인터페이스의 서명은 비대칭 알고리즘을 사용하여 서명 키를 암호화하고 키의 유효 기간을 설정한 후 정기적으로 교체해 주세요.

위 내용은 PHP를 암호화하여 배포할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.