>  기사  >  백엔드 개발  >  PHP의 해시 메소드는 무엇입니까?

PHP의 해시 메소드는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-01-24 14:26:084510검색

PHP의 해시 메소드: hash_algos(), hash_copy(), hash_equals(), hash_file(), hash_final(), hash_hkdf(), hash_hmac(), hash_init(), hash() 등

PHP의 해시 메소드는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php

  • hash_algos의 해시 메소드 - 등록된 해시 알고리즘 목록을 반환합니다.

  • + 요약 결과 반환

  • hash_hkdf — 제공된 키 입력의 HKDF 키 파생 생성

  • hash_hmac_algos — hash_hmac에 적합한 등록된 해싱 알고리즘 목록 반환

  • hmac_file — HMAC 방법 및 내용 사용 주어진 파일 키 해시 값 생성

  • hash_hmac — HMAC 방법을 사용하여 키 해시 값 생성

  • hash_init — 증분 해싱 컨텍스트 초기화

  • hash_pbkdf2 — 제공된 비밀번호에 대한 키 해시 값 생성 PBKDF2 키 내보내기

  • hash_update_file — 파일의 데이터를 활성 해싱 컨텍스트에 채웁니다.

  • hash_update_stream — 공개 스트림의 데이터를 활성 해싱 컨텍스트에 채웁니다.

  • hash_update — 활성 해싱 컨텍스트를 채웁니다. 해시 작업 컨텍스트

  • hash — 해시 값 생성(메시지 다이제스트)

  • hash_algos()

  • hash_algos — 등록된 해시 알고리즘 목록 반환

    구문: hash_algos () code>
  • 반환 값: 지원되는 해시 알고리즘의 이름이 포함된 숫자로 인덱스된 배열을 반환합니다.

  • hash_copy()

hash_copy - 해시 작업 컨텍스트 복사

구문: ​​hash_copy($context)

hash_algos()

返回值:返回一个数值索引的数组, 包含了受支持的哈希算法名称。

hash_copy()

hash_copy — 拷贝哈希运算上下文

语法:hash_copy($context)

  • $context:由 hash_init() 函数返回的哈希运算上下文。

返回值:返回哈希运算上下文的一个复本。

hash_equals()

hash_equals — 可防止时序攻击的字符串比较

语法:hash_equals($known_string, $user_string)

  • $known_string:已知长度的、要参与比较的 string

  • $user_string:用户提供的字符串

返回值:当两个字符串相等时返回 true,否则返回 false。

hash_file()

hash_file — 给指定文件的内容生成哈希值

语法:hash_file($algo,$filename,$binary = false)

  • $algo:要使用的哈希算法的名称(例如:"md5","sha256","haval160,4" 等)。 可以在 hash_algos() 中查看当前支持的算法。

  • $filename:要进行哈希运算的文件位置的 URL ;支持 fopen 封装协议。

  • $binary:设置为 true 时,输出原始二进制数据。 设置为 false 时,输出小写的十六进制字符串。

返回值:如果 binary 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回十六进制小写字符串格式表示的信息摘要。

hash_final()

hash_final — 结束增量哈希,并且返回摘要结果

语法:hash_final($context,$raw_output = false)

  • $context:hash_init() 函数返回的哈希运算上下文资源。

  • $raw_output:设置为 true,输出格式为原始的二进制数据。 设置为 false,输出小写的 16 进制字符串。

返回值:如果 raw_output 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回 16 进制小写字符串格式表示的信息摘要。

hash_init()

hash_init — 初始化增量哈希运算上下文

语法:hash_init($algo,$options = 0, $key = null)$context: hash_init() 함수에 의해 반환된 해시 작업 컨텍스트입니다.

  • 반환 값: 해시 작업 컨텍스트의 복사본을 반환합니다.

  • hash_equals()


    hash_equals - 타이밍 공격을 방지할 수 있는 문자열 비교
  • 구문: ​​hash_equals($known_string, $user_string)


    🎜$known_string: 알려진 길이, 문자열 비교🎜🎜🎜🎜$user_string: 사용자가 제공한 문자열🎜🎜🎜🎜반환값: 두 문자열이 같으면 true를 반환하고, 같으면 false를 반환합니다. 🎜🎜🎜hash_file()🎜🎜🎜hash_file - 지정된 파일의 콘텐츠에 대한 해시 값을 생성합니다.🎜🎜구문: ​​hash_file($algo,$filename,$binary = false)🎜🎜🎜🎜 $algo : 사용할 해싱 알고리즘의 이름(예: "md5", "sha256", "haval160,4" 등)입니다. hash_algos()에서 현재 지원되는 알고리즘을 확인할 수 있습니다. 🎜🎜🎜🎜$filename: 해시할 파일 위치의 URL, fopen 캡슐화 프로토콜을 지원합니다. 🎜🎜🎜🎜$binary: true로 설정하면 원본 바이너리 데이터가 출력됩니다. false로 설정하면 소문자 16진수 문자열이 출력됩니다. 🎜🎜🎜🎜반환값: 바이너리를 true로 설정하면 원래 바이너리 데이터가 표현하는 정보 요약이 반환되고, 그렇지 않으면 16진수 소문자 문자열 형식으로 표현되는 정보 요약이 반환됩니다. 🎜🎜🎜hash_final()🎜🎜🎜hash_final - 증분 해시를 종료하고 요약 결과를 반환합니다.🎜🎜구문: ​​hash_final($context,$raw_output = false)🎜🎜🎜🎜$context: hash_init( ) 함수가 반환한 해시 작업 컨텍스트 리소스입니다. 🎜🎜🎜🎜$raw_output: true로 설정하면 출력 형식이 원시 바이너리 데이터입니다. 소문자 16진수 문자열을 출력하려면 false로 설정합니다. 🎜🎜🎜🎜🎜반환값: raw_output을 true로 설정하면 원본 바이너리 데이터로 표현되는 정보 요약이 반환되고, 그렇지 않으면 16진수 소문자 문자열 형식으로 표현되는 정보 요약이 반환됩니다. 🎜🎜🎜hash_init()🎜🎜🎜hash_init — 증분 해시 작업 컨텍스트 초기화🎜🎜구문: ​​hash_init($algo,$options = 0, $key = null)🎜🎜🎜🎜$algo: 사용할 해시 알고리즘의 이름입니다(예: "md5", "sha256", "haval160,4" 등). 지원되는 알고리즘 목록을 얻는 방법은 hash_algos()를 참조하세요. 🎜🎜🎜🎜$options: 해싱에 대한 선택적 설정은 현재 HASH_HMAC라는 한 가지 옵션만 지원됩니다. 이 옵션을 지정할 때 key 매개변수를 지정해야 합니다. 🎜🎜🎜🎜🎜$key: 옵션 매개변수가 HASH_HMAC인 경우 이 매개변수를 사용하여 HMAC 해싱을 위한 공유 키를 전달합니다. 🎜🎜

반환 값: hash_update(), hash_update_stream(), hash_update_file() 및 hash_final() 함수에서 사용할 해시 작업 컨텍스트 개체를 반환합니다.

. . . .

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP의 해시 메소드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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