\hypertarget{group__digest__functions}{}\section{Digest (Hash) Functions}
\label{group__digest__functions}\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{Qore\+::\+D\+SS} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+SS message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}{Qore\+::\+D\+S\+S1} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+S\+S1 message digest (based on \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}{Qore\+::\+D\+S\+S1\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+S\+S1 message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}{Qore\+::\+D\+S\+S\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+SS message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}{Qore\+::\+M\+D2} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD2_(cryptography)}{\tt M\+D2 message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}{Qore\+::\+M\+D2\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD2_(cryptography)}{\tt M\+D2 message digest} of the supplied argument as binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}{Qore\+::\+M\+D4} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD4}{\tt M\+D4 message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}{Qore\+::\+M\+D4\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD4}{\tt M\+D4 message digest} of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}{Qore\+::\+M\+D5} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD5}{\tt M\+D5 message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}{Qore\+::\+M\+D5\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MD5}{\tt M\+D5 message digest} of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}{Qore\+::\+M\+D\+C2} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MDC2}{\tt M\+D\+C2 message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{Qore\+::\+M\+D\+C2\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/MDC2}{\tt M\+D\+C2 message digest} of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}{Qore\+::\+R\+I\+P\+E\+M\+D160} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/RIPEMD}{\tt R\+I\+P\+E\+MD message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga588dd676ff78bd5fbc3e18d6b0a328fe}{Qore\+::\+R\+I\+P\+E\+M\+D160\+\_\+binary} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/RIPEMD}{\tt R\+I\+P\+E\+MD message digest} of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{Qore\+::\+S\+HA} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+HA (outdated S\+H\+A-\/0) message digest of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}{Qore\+::\+S\+H\+A1} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} message digest of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}{Qore\+::\+S\+H\+A1\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} message digest of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}{Qore\+::\+S\+H\+A224} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/224 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}{Qore\+::\+S\+H\+A224\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/224 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}{Qore\+::\+S\+H\+A256} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/256 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}{Qore\+::\+S\+H\+A256\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/256 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}{Qore\+::\+S\+H\+A384} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/384 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}{Qore\+::\+S\+H\+A384\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/384 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} \hyperlink{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}{Qore\+::\+S\+H\+A512} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/512 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}{Qore\+::\+S\+H\+A512\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A-\/512 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. \end{DoxyCompactList}\item 
\hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} \hyperlink{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}{Qore\+::\+S\+H\+A\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+HA (outdated S\+H\+A-\/0) message digest of the supplied argument as a binary value. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Qore\textquotesingle{}s cryptography support is provided by the Open\+S\+SL library.

A cryptographic hash function is a hash function; that is, an algorithm that takes an arbitrary block of data and returns a fixed-\/size bit string, the (cryptographic) hash value, such that any (accidental or intentional) change to the data will (with very high probability) change the hash value. The data to be encoded are often called the \char`\"{}message,\char`\"{} and the hash value is sometimes called the message digest or simply digest.

For more info\+: \href{http://en.wikipedia.org/wiki/Cryptographic_hash_function}{\tt Wikipedia\textquotesingle{}s Cryptographic hash function article}.

See also\+:
\begin{DoxyItemize}
\item \hyperlink{group__cryptographic__functions}{Cryptographic Functions}
\item \hyperlink{group__hmac__functions}{H\+M\+AC Functions}
\item \hyperlink{group__cryptographic__constants}{Cryptographic Contants} 
\end{DoxyItemize}

\subsection{Function Documentation}
\mbox{\Hypertarget{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}\label{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!D\+SS@{D\+SS}}
\index{D\+SS@{D\+SS}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{D\+S\+S()}{DSS()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+D\+SS (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the D\+SS message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{DSS}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}{D\+S\+S\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()}
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility only when Qore is built with an older openssl library 
\end{DoxyNote}
\mbox{\Hypertarget{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}\label{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!D\+S\+S1@{D\+S\+S1}}
\index{D\+S\+S1@{D\+S\+S1}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{D\+S\+S1()}{DSS1()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+D\+S\+S1 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the D\+S\+S1 message digest (based on \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}{DSS1}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}{D\+S\+S1\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()}
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility only when Qore is built with an older openssl library 
\end{DoxyNote}
\mbox{\Hypertarget{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}\label{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!D\+S\+S1\+\_\+bin@{D\+S\+S1\+\_\+bin}}
\index{D\+S\+S1\+\_\+bin@{D\+S\+S1\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{D\+S\+S1\+\_\+bin()}{DSS1\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+D\+S\+S1\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the D\+S\+S1 message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}{DSS1\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}{D\+S\+S1()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()}
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility only when Qore is built with an older openssl library 
\end{DoxyNote}
\mbox{\Hypertarget{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}\label{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!D\+S\+S\+\_\+bin@{D\+S\+S\+\_\+bin}}
\index{D\+S\+S\+\_\+bin@{D\+S\+S\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{D\+S\+S\+\_\+bin()}{DSS\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+D\+S\+S\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the D\+SS message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+SA}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}{DSS\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{D\+S\+S()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()}
\end{DoxyItemize}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility only when Qore is built with an older openssl library 
\end{DoxyNote}
\mbox{\Hypertarget{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}\label{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D2@{M\+D2}}
\index{M\+D2@{M\+D2}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D2()}{MD2()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+M\+D2 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD2_(cryptography)}{\tt M\+D2 message digest} of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga2e1b34b0ee0e76d35143adeaac8211ba}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+M\+D2}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}a9046c73e00331af68917d3804f70655\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}{MD2}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "a9046c73e00331af68917d3804f70655"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}{M\+D2\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}\label{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D2\+\_\+bin@{M\+D2\+\_\+bin}}
\index{M\+D2\+\_\+bin@{M\+D2\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D2\+\_\+bin()}{MD2\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+M\+D2\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD2_(cryptography)}{\tt M\+D2 message digest} of the supplied argument as binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga2e1b34b0ee0e76d35143adeaac8211ba}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+M\+D2}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}{MD2\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}{M\+D2()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}\label{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D4@{M\+D4}}
\index{M\+D4@{M\+D4}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D4()}{MD4()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+M\+D4 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD4}{\tt M\+D4 message digest} of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}866437cb7a794bce2b727acc0362ee27\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}{MD4}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "866437cb7a794bce2b727acc0362ee27"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D4-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}{M\+D4\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}\label{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D4\+\_\+bin@{M\+D4\+\_\+bin}}
\index{M\+D4\+\_\+bin@{M\+D4\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D4\+\_\+bin()}{MD4\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+M\+D4\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD4}{\tt M\+D4 message digest} of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}{MD4\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D4-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}{M\+D4()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}\label{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D5@{M\+D5}}
\index{M\+D5@{M\+D5}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D5()}{MD5()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+M\+D5 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD5}{\tt M\+D5 message digest} of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}5d41402abc4b2a76b9719d911017c592\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}{MD5}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "5d41402abc4b2a76b9719d911017c592"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D5-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}

\begin{DoxyItemize}
\item equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_a2c63e2b65aafebf67928b88651d4cd39}{Qore\+::zzz8stringzzz9\+::to\+M\+D5()}
\item the M\+D5 algorithm is not collision-\/resistant; it\textquotesingle{}s recommended to use another hash algorithm (like S\+H\+A-\/256) if cryptographic security is important
\end{DoxyItemize}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}{M\+D5\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}\label{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D5\+\_\+bin@{M\+D5\+\_\+bin}}
\index{M\+D5\+\_\+bin@{M\+D5\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D5\+\_\+bin()}{MD5\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+M\+D5\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MD5}{\tt M\+D5 message digest} of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}{MD5\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D5-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}{M\+D5()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}\label{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D\+C2@{M\+D\+C2}}
\index{M\+D\+C2@{M\+D\+C2}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D\+C2()}{MDC2()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+M\+D\+C2 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MDC2}{\tt M\+D\+C2 message digest} of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga57cfc96553919fbdae63254ca4600849}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+M\+D\+C2}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}4517036cf97b2407d6fe22aa5ab878a3\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}{MDC2}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "4517036cf97b2407d6fe22aa5ab878a3"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D\+C2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{M\+D\+C2\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}\label{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!M\+D\+C2\+\_\+bin@{M\+D\+C2\+\_\+bin}}
\index{M\+D\+C2\+\_\+bin@{M\+D\+C2\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{M\+D\+C2\+\_\+bin()}{MDC2\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+M\+D\+C2\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/MDC2}{\tt M\+D\+C2 message digest} of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga57cfc96553919fbdae63254ca4600849}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+M\+D\+C2}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{MDC2\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D\+C2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{M\+D\+C2\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}\label{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!R\+I\+P\+E\+M\+D160@{R\+I\+P\+E\+M\+D160}}
\index{R\+I\+P\+E\+M\+D160@{R\+I\+P\+E\+M\+D160}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{R\+I\+P\+E\+M\+D160()}{RIPEMD160()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+R\+I\+P\+E\+M\+D160 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/RIPEMD}{\tt R\+I\+P\+E\+MD message digest} of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}108f07b8382412612c048d07d13f814118445acd\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}{RIPEMD160}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "108f07b8382412612c048d07d13f814118445acd"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em R\+I\+P\+E\+M\+D160-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item R\+I\+P\+E\+M\+D160\+\_\+bin()
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga588dd676ff78bd5fbc3e18d6b0a328fe}\label{group__digest__functions_ga588dd676ff78bd5fbc3e18d6b0a328fe}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!R\+I\+P\+E\+M\+D160\+\_\+binary@{R\+I\+P\+E\+M\+D160\+\_\+binary}}
\index{R\+I\+P\+E\+M\+D160\+\_\+binary@{R\+I\+P\+E\+M\+D160\+\_\+binary}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{R\+I\+P\+E\+M\+D160\+\_\+binary()}{RIPEMD160\_binary()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+R\+I\+P\+E\+M\+D160\+\_\+binary (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/RIPEMD}{\tt R\+I\+P\+E\+MD message digest} of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = RIPEMD160\_bin(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em R\+I\+P\+E\+M\+D160-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}{R\+I\+P\+E\+M\+D160()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}\label{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+HA@{S\+HA}}
\index{S\+HA@{S\+HA}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A()}{SHA()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+HA (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+HA (outdated S\+H\+A-\/0) message digest of the supplied argument as a hex string. 

This hash algorithm was withdrawn after publishing and is considered to have serious flaws.

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}ac62a630ca850b4ea07eda664eaecf9480843152\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{SHA}(\textcolor{stringliteral}{"hello"}); returns \textcolor{stringliteral}{"ac62a630ca850b4ea07eda664eaecf9480843152"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}{S\+H\+A\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}\label{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A1@{S\+H\+A1}}
\index{S\+H\+A1@{S\+H\+A1}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A1()}{SHA1()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+H\+A1 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} message digest of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}{SHA1}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}
equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_a577cc1e9e6cb2f001c36f35a4cff4b74}{Qore\+::zzz8stringzzz9\+::to\+S\+H\+A1()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}{S\+H\+A1\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}\label{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A1\+\_\+bin@{S\+H\+A1\+\_\+bin}}
\index{S\+H\+A1\+\_\+bin@{S\+H\+A1\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A1\+\_\+bin()}{SHA1\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A1\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the \href{http://en.wikipedia.org/wiki/SHA-1}{\tt S\+H\+A1} message digest of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}{SHA1\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}{S\+H\+A1()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}\label{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A224@{S\+H\+A224}}
\index{S\+H\+A224@{S\+H\+A224}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A224()}{SHA224()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+H\+A224 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/224 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_gac2b845ff7b7e953d0ab2c7c0e33154fe}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A224}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}{SHA224}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns "ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A224-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}
equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_a3341bfb07348577260ece5244f958caf}{Qore\+::zzz8stringzzz9\+::to\+S\+H\+A224()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()}
\item \hyperlink{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}{S\+H\+A224\+\_\+bin()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}\label{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A224\+\_\+bin@{S\+H\+A224\+\_\+bin}}
\index{S\+H\+A224\+\_\+bin@{S\+H\+A224\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A224\+\_\+bin()}{SHA224\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A224\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/224 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_gac2b845ff7b7e953d0ab2c7c0e33154fe}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A224}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}{SHA224\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A224-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}{S\+H\+A224()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}\label{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A256@{S\+H\+A256}}
\index{S\+H\+A256@{S\+H\+A256}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A256()}{SHA256()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+H\+A256 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/256 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga8bbafb0df946db4960ec53f1739352c2}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A256}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}{SHA256}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns
       "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A256-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}
equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_a11a362bbdba504966590d68bc6839350}{Qore\+::zzz8stringzzz9\+::to\+S\+H\+A256()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}{S\+H\+A256\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}\label{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A256\+\_\+bin@{S\+H\+A256\+\_\+bin}}
\index{S\+H\+A256\+\_\+bin@{S\+H\+A256\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A256\+\_\+bin()}{SHA256\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A256\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/256 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga8bbafb0df946db4960ec53f1739352c2}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A256}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}{SHA256\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A256-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}{S\+H\+A256()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}\label{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A384@{S\+H\+A384}}
\index{S\+H\+A384@{S\+H\+A384}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A384()}{SHA384()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+H\+A384 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/384 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_gaefa59259c4fcbe89eaf1efa5364e0420}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A384}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}{SHA384}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns
       "59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A384-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}
equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_ae572499e8fe84e24455806ba2556e5c5}{Qore\+::zzz8stringzzz9\+::to\+S\+H\+A384()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}{S\+H\+A384\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}\label{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A384\+\_\+bin@{S\+H\+A384\+\_\+bin}}
\index{S\+H\+A384\+\_\+bin@{S\+H\+A384\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A384\+\_\+bin()}{SHA384\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A384\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/384 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_gaefa59259c4fcbe89eaf1efa5364e0420}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A384}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}{SHA384\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A384-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}{S\+H\+A384()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}\label{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A512@{S\+H\+A512}}
\index{S\+H\+A512@{S\+H\+A512}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A512()}{SHA512()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string} Qore\+::\+S\+H\+A512 (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/512 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a hex string. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga361d12136d30719ba4861fd892ee022f}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A512}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a hex string of the digest (ex\+: {\ttfamily \char`\"{}9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043\char`\"{}})
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
string str = \hyperlink{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}{SHA512}(\textcolor{stringliteral}{"hello"}); \textcolor{comment}{# returns
       "9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A512-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxyNote}{Note}
equivalent to \hyperlink{class_qore_1_1zzz8stringzzz9_a0a8b0fd0c6dc97af23ad50be3125cb4d}{Qore\+::zzz8stringzzz9\+::to\+S\+H\+A512()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}{S\+H\+A512\+\_\+bin()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}\label{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A512\+\_\+bin@{S\+H\+A512\+\_\+bin}}
\index{S\+H\+A512\+\_\+bin@{S\+H\+A512\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A512\+\_\+bin()}{SHA512\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A512\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+H\+A-\/512 message digest (a variant of \href{http://en.wikipedia.org/wiki/SHA-2}{\tt S\+H\+A-\/2}) of the supplied argument as a binary value. 

\begin{DoxyParagraph}{Platform Availability\+:}
\hyperlink{group__option__constants_ga361d12136d30719ba4861fd892ee022f}{Qore\+::\+Option\+::\+H\+A\+V\+E\+\_\+\+S\+H\+A512}
\end{DoxyParagraph}
\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}{SHA512\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A512-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}{S\+H\+A512()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}\label{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}} 
\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A\+\_\+bin@{S\+H\+A\+\_\+bin}}
\index{S\+H\+A\+\_\+bin@{S\+H\+A\+\_\+bin}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection{\texorpdfstring{S\+H\+A\+\_\+bin()}{SHA\_bin()}}
{\footnotesize\ttfamily \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{binary} Qore\+::\+S\+H\+A\+\_\+bin (\begin{DoxyParamCaption}\item[{data}]{data }\end{DoxyParamCaption})}



Returns the S\+HA (outdated S\+H\+A-\/0) message digest of the supplied argument as a binary value. 

This hash algorithm was withdrawn after publishing and is considered to have serious flaws.

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+LY}
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em data} & the data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a binary value of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
binary bin = \hyperlink{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}{SHA\_bin}(\textcolor{stringliteral}{"hello"});
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+OR} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{S\+H\+A()}
\item \hyperlink{group__hmac__functions_gaefc09e78e7bccccf7bc3629e4e86c9e2}{digest()} 
\end{DoxyItemize}
\end{DoxySeeAlso}
