QCryptographicHash Class
QCryptographicHash 클래스는 암호학적 해시를 생성하는 방법을 제공합니다. 더 보기...
| 헤더: | #include <QCryptographicHash> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
공개 유형
| enum | Algorithm { Md4, Md5, Sha1, Sha224, Sha256, …, Blake2s_256 } |
공개 함수
| QCryptographicHash(QCryptographicHash::Algorithm method) | |
(since 6.5) | QCryptographicHash(QCryptographicHash &&other) |
| ~QCryptographicHash() | |
| void | addData(QByteArrayView bytes) |
| bool | addData(QIODevice *device) |
(since 6.5) QCryptographicHash::Algorithm | algorithm() const |
| void | reset() |
| QByteArray | result() const |
(since 6.3) QByteArrayView | resultView() const |
(since 6.5) void | swap(QCryptographicHash &other) |
(since 6.5) QCryptographicHash & | operator=(QCryptographicHash &&other) |
정적 공용 멤버
| QByteArray | hash(QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
| int | hashLength(QCryptographicHash::Algorithm method) |
(since 6.5) bool | supportsAlgorithm(QCryptographicHash::Algorithm method) |
상세 설명
QCryptographicHash는 바이너리 또는 텍스트 데이터의 암호 해시를 생성하는 데 사용할 수 있습니다.
지원되는 알고리즘 목록은 QCryptographicHash::Algorithm 열거형의 문서를 참조하십시오.
멤버 유형 문서
enum QCryptographicHash::Algorithm
참고: Qt 5.9 이전버전에서는 SHA3 해시 합계를 생성하라는 요청을 받았을 때, ` QCryptographicHash `가 실제로는 Keccak을 계산했습니다. 해당 버전의 Qt에서 생성된 SHA-3 해시와의 호환성이 필요한 경우, ` Keccak_ ` 열거형을 사용하십시오. 또는 소스 호환성이 필요한 경우, 매크로 ` QT_SHA3_KECCAK_COMPAT`를 정의하십시오.
| 상수 | 값 | 설명 |
|---|---|---|
QCryptographicHash::Md4 | 0 | MD4 해시 값 생성 |
QCryptographicHash::Md5 | 1 | MD5 해시 합계 생성 |
QCryptographicHash::Sha1 | 2 | SHA-1 해시 값 생성 |
QCryptographicHash::Sha224 | 3 | SHA-224 해시 값 생성 (SHA-2). Qt 5.0에서 도입됨 |
QCryptographicHash::Sha256 | 4 | SHA-256 해시 값 생성 (SHA-2). Qt 5.0에서 도입됨 |
QCryptographicHash::Sha384 | 5 | SHA-384 해시 값 생성 (SHA-2). Qt 5.0에서 도입됨 |
QCryptographicHash::Sha512 | 6 | SHA-512 해시 값 생성 (SHA-2). Qt 5.0에서 도입됨 |
QCryptographicHash::Sha3_224 | RealSha3_224 | SHA3-224 해시 값을 생성합니다. Qt 5.1에서 도입됨 |
QCryptographicHash::Sha3_256 | RealSha3_256 | SHA3-256 해시 값을 생성합니다. Qt 5.1에서 도입됨 |
QCryptographicHash::Sha3_384 | RealSha3_384 | SHA3-384 해시 합계를 생성합니다. Qt 5.1에서 도입됨 |
QCryptographicHash::Sha3_512 | RealSha3_512 | SHA3-512 해시 값을 생성합니다. Qt 5.1에서 도입됨 |
QCryptographicHash::Keccak_224 | 7 | Keccak-224 해시 값을 생성합니다. Qt 5.9.2부터 도입됨 |
QCryptographicHash::Keccak_256 | 8 | Keccak-256 해시 값을 생성합니다. Qt 5.9.2에서 도입됨 |
QCryptographicHash::Keccak_384 | 9 | Keccak-384 해시 값을 생성합니다. Qt 5.9.2부터 도입됨 |
QCryptographicHash::Keccak_512 | 10 | Keccak-512 해시 값을 생성합니다. Qt 5.9.2에서 도입됨 |
QCryptographicHash::Blake2b_160 | 15 | BLAKE2b-160 해시 값을 생성합니다. Qt 6.0부터 도입됨 |
QCryptographicHash::Blake2b_256 | 16 | BLAKE2b-256 해시 값을 생성합니다. Qt 6.0부터 도입됨 |
QCryptographicHash::Blake2b_384 | 17 | BLAKE2b-384 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
QCryptographicHash::Blake2b_512 | 18 | BLAKE2b-512 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
QCryptographicHash::Blake2s_128 | 19 | BLAKE2s-128 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
QCryptographicHash::Blake2s_160 | 20 | BLAKE2s-160 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
QCryptographicHash::Blake2s_224 | 21 | BLAKE2s-224 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
QCryptographicHash::Blake2s_256 | 22 | BLAKE2s-256 해시 값을 생성합니다. Qt 6.0에서 도입됨 |
멤버 함수 문서
[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)
method 를 사용하여 데이터로부터 암호학적 해시를 생성하는 데 사용할 수 있는 객체를 생성합니다.
[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)
other 에서 새로운 QCryptographicHash 객체를 이동 생성합니다.
참고: 이동된객체인 ` other `는 부분적으로 형성된 상태가 되며, 이 상태에서는 소멸 및 새 값 할당만이 유효한 연산입니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[noexcept] QCryptographicHash::~QCryptographicHash()
객체를 삭제합니다.
[noexcept] void QCryptographicHash::addData(QByteArrayView bytes)
bytes 에 포함된 문자들을 암호화 해시에 추가합니다.
참고: Qt 6.3 이전버전에서는 이 함수가 ` QByteArrayView`가 아닌 ` QByteArray`를 인수로 받았습니다.
bool QCryptographicHash::addData(QIODevice *device)
QIODevice device 에서 데이터가 끝날 때까지 데이터를 읽은 후 해시 값을 계산합니다. 읽기가 성공하면 true 를 반환합니다.
[noexcept, since 6.5] QCryptographicHash::Algorithm QCryptographicHash::algorithm() const
암호 해시를 생성하는 데 사용된 알고리즘을 반환합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[static] QByteArray QCryptographicHash::hash(QByteArrayView data, QCryptographicHash::Algorithm method)
method 를 사용하여 data 의 해시를 반환합니다.
참고: Qt 6.3 이전버전에서는 이 함수가 QByteArrayView 가 아닌 QByteArray 를 인수로 받았습니다.
hashInto()도 참조하십시오 .
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
method 를 사용하여 data 의 해시를 반환하며, buffer 를 사용하여 결과를 저장합니다.
data 가 스팬(span)인 경우, 주어진 순서대로 모든 바이트 배열 뷰를 해시에 추가합니다.
buffer 의 크기가 충분하지 않은 경우를 제외하고, 반환 값은 buffer 의 하위 스팬이 됩니다. 크기가 충분하지 않은 경우에는 null 값의 QByteArrayView 이 반환됩니다.
이 함수들은 Qt 6.8에서 도입되었습니다.
hash()도 참조하십시오 .
[static] int QCryptographicHash::hashLength(QCryptographicHash::Algorithm method)
선택한 해시 method 의 출력 크기를 바이트 단위로 반환합니다.
[noexcept] void QCryptographicHash::reset()
객체를 초기화합니다.
QByteArray QCryptographicHash::result() const
최종 해시 값을 반환합니다.
resultView() 및 QByteArray::toHex()도 참조하십시오 .
[noexcept, since 6.3] QByteArrayView QCryptographicHash::resultView() const
최종 해시 값을 반환합니다.
반환된 뷰는 QCryptographicHash 객체가 다른 방법으로 수정되지 않는 한 유효하다는 점에 유의하십시오.
이 함수는 Qt 6.3에서 도입되었습니다.
result()도 참조하십시오 .
[static, since 6.5] bool QCryptographicHash::supportsAlgorithm(QCryptographicHash::Algorithm method)
선택된 알고리즘 method 이 지원되는지, 그리고 method 를 사용할 때 result()이 값을 반환하는지 여부를 반환합니다.
참고: OpenSSL을 제공자로 사용할 경우 OpenSSL이 이 정보를 제공하며, 그렇지 않은 경우 OpenSSL이 아닌 구현체에는 제한 사항이 없으므로 true 가 반환됩니다. OpenSSL에 대한 조회에 실패하면 false 를 반환합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[noexcept, since 6.5] void QCryptographicHash::swap(QCryptographicHash &other)
이 암호화 해시를 other 로 바꿉니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[noexcept, since 6.5] QCryptographicHash &QCryptographicHash::operator=(QCryptographicHash &&other)
other 를 이 QCryptographicHash 인스턴스에 이동 할당합니다.
참고: 이동된객체 other 는 부분적으로 형성된 상태로 배치되며, 이 상태에서는 소멸과 새 값 할당만이 유효한 연산입니다.
이 함수는 Qt 6.5에서 도입되었습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.