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

참고: 5.9 이전 Qt 버전에서는 SHA3 해시 합을 생성하라는 요청을 받으면 QCryptographicHash 이 실제로 Keccak을 계산했습니다. 해당 버전의 Qt에서 생성된 SHA-3 해시와의 호환성이 필요한 경우 Keccak_ 열거자를 사용하십시오. 또는 소스 호환성이 필요한 경우 매크로 QT_SHA3_KECCAK_COMPAT 를 정의하십시오.

상수설명
QCryptographicHash::Md40MD4 해시 합을 생성합니다.
QCryptographicHash::Md51MD5 해시 합계 생성
QCryptographicHash::Sha12SHA-1 해시 합계 생성하기
QCryptographicHash::Sha2243SHA-224 해시 합계(SHA-2)를 생성합니다. Qt 5.0에 도입
QCryptographicHash::Sha2564SHA-256 해시 합계(SHA-2)를 생성합니다. Qt 5.0에 도입
QCryptographicHash::Sha3845SHA-384 해시 합계(SHA-2)를 생성합니다. Qt 5.0에 도입
QCryptographicHash::Sha5126SHA-512 해시 합계(SHA-2)를 생성합니다. Qt 5.0에 도입
QCryptographicHash::Sha3_224RealSha3_224SHA3-224 해시 합을 생성합니다. Qt 5.1에 도입
QCryptographicHash::Sha3_256RealSha3_256SHA3-256 해시 합을 생성합니다. Qt 5.1에 도입
QCryptographicHash::Sha3_384RealSha3_384SHA3-384 해시 합계를 생성합니다. Qt 5.1에 도입
QCryptographicHash::Sha3_512RealSha3_512SHA3-512 해시 합을 생성합니다. Qt 5.1에 도입
QCryptographicHash::Keccak_2247Keccak-224 해시 합을 생성합니다. Qt 5.9.2에 도입되었습니다.
QCryptographicHash::Keccak_2568Keccak-256 해시 합을 생성합니다. Qt 5.9.2에 도입.
QCryptographicHash::Keccak_3849Keccak-384 해시 합을 생성합니다. Qt 5.9.2에 도입되었습니다.
QCryptographicHash::Keccak_51210Keccak-512 해시 합을 생성합니다. Qt 5.9.2에 도입.
QCryptographicHash::Blake2b_16015BLAKE2b-160 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2b_25616BLAKE2b-256 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2b_38417BLAKE2b-384 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2b_51218BLAKE2b-512 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2s_12819BLAKE2s-128 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2s_16020BLAKE2s-160 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2s_22421BLAKE2s-224 해시 합을 생성합니다. Qt 6.0에 도입
QCryptographicHash::Blake2s_25622BLAKE2s-256 해시 합을 생성합니다. Qt 6.0에 도입

멤버 함수 문서

[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 가 스팬인 경우 주어진 순서대로 모든 바이트 배열 뷰를 해시에 추가합니다.

반환 값은 buffer 의 크기가 충분하지 않는 한 buffer 의 하위 스팬이 되며, 이 경우 null QByteArrayView 이 반환됩니다.

이 함수는 Qt 6.8에 도입되었습니다.

hash()도 참조하십시오 .

[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)

method 을 사용하여 데이터에서 암호화 해시를 생성하는 데 사용할 수 있는 객체를 구축합니다.

[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)

Move는 other 에서 새 QCryptographicHash를 생성합니다.

참고: 이동한 객체 other 는 부분적으로 형성된 상태로, 유효한 연산은 소멸과 새 값 할당뿐입니다.

이 함수는 Qt 6.5에 도입되었습니다.

[noexcept] QCryptographicHash::~QCryptographicHash()

개체를 파괴합니다.

[noexcept] void QCryptographicHash::addData(QByteArrayView bytes)

bytes 의 문자를 암호화 해시에 추가합니다.

참고: 6.3 이전 Qt 버전에서 이 함수는 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 의 해시를 반환합니다.

참고: 6.3 이전 Qt 버전에서 이 함수는 QByteArrayView 이 아닌 QByteArray 을 취했습니다.

hashInto()도 참조하십시오 .

[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 이 지원되는지 여부와 result()이 method 을 사용할 때 값을 반환하는지 여부를 반환합니다.

참고: 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에 도입되었습니다.

© 2025 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.