\hypertarget{group__digest__functions}{}\section{Digest (Hash) Functions}
\label{group__digest__functions}\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
string \hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{Qore\+::\+D\+S\+S} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+S\+S message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+S\+A}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
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\+S\+A}) of the supplied argument as a hex string. \end{DoxyCompactList}\item 
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\+S\+A}) of the supplied argument as a binary object. \end{DoxyCompactList}\item 
binary \hyperlink{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}{Qore\+::\+D\+S\+S\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the D\+S\+S message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+S\+A}) of the supplied argument as a binary object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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\+M\+D message digest} of the supplied argument as a hex string. \end{DoxyCompactList}\item 
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\+M\+D message digest} of the supplied argument as a binary object. \end{DoxyCompactList}\item 
string \hyperlink{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{Qore\+::\+S\+H\+A} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A (outdated S\+H\+A-\/0) message digest of the supplied argument as a hex string. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
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 
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 object. \end{DoxyCompactList}\item 
binary \hyperlink{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}{Qore\+::\+S\+H\+A\+\_\+bin} (data data)
\begin{DoxyCompactList}\small\item\em Returns the S\+H\+A (outdated S\+H\+A-\/0) message digest of the supplied argument as a binary object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Qore's cryptography support is provided by the Open\+S\+S\+L 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's Cryptographic hash function article}.

See also\+:
\begin{DoxyItemize}
\item \hyperlink{group__cryptographic__functions}{Crytographic Functions}
\item \hyperlink{group__hmac__functions}{H\+M\+A\+C Functions}
\item \hyperlink{group__cryptographic__constants}{Crytographic Contants} 
\end{DoxyItemize}

\subsection{Function Documentation}
\hypertarget{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{}\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!D\+S\+S@{D\+S\+S}}
\index{D\+S\+S@{D\+S\+S}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection[{D\+S\+S}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+D\+S\+S (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}


Returns the D\+S\+S message digest (based on S\+H\+A-\/0 and \href{http://en.wikipedia.org/wiki/Digital_Signature_Algorithm}{\tt D\+S\+A}) 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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{DSS}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}{D\+S\+S\+\_\+bin()}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility 
\end{DoxyNote}
\hypertarget{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[{D\+S\+S1}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+D\+S\+S1 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}


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\+S\+A}) 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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}{DSS1}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em D\+S\+S1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}{D\+S\+S1\+\_\+bin()}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility 
\end{DoxyNote}
\hypertarget{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[{D\+S\+S1\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+D\+S\+S1\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gad7149067899176a4910c1aff7f8c3157}


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\+S\+A}) of the supplied argument as a binary object. 

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga418f6b8eb4acc61b72a3a600d418a1b6}{D\+S\+S1()}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility 
\end{DoxyNote}
\hypertarget{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[{D\+S\+S\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+D\+S\+S\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga20bcfd88e83ae5c08af1d4ef5b6a10c7}


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

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gab75d2872586f27999e85b7ed990f6dad}{D\+S\+S()}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
this digest algorithm is considered outdated and is included for backwards-\/compatibility 
\end{DoxyNote}
\hypertarget{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[{M\+D2}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+M\+D2 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}


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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}{MD2}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"a9046c73e00331af68917d3804f70655"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}{M\+D2\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D2\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+M\+D2\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga92b9dd3feb62a72720cfad39f79dd3e7}


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

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gab21020c23da78956d435a7e99d49b8d0}{M\+D2()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D4}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+M\+D4 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}{MD4}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"866437cb7a794bce2b727acc0362ee27"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D4-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}{M\+D4\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D4\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+M\+D4\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gac2fd96fcd78e96c7d1d3d373f8a921ef}


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

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga5657d0e938e652fd42df41aca9e66d94}{M\+D4()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D5}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+M\+D5 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}{MD5}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"5d41402abc4b2a76b9719d911017c592"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D5-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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'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}
\hyperlink{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}{M\+D5\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D5\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+M\+D5\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gafea2cdf61fc831e245ba21f9d8397a23}


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

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga78c973088de21a5aae0cd8c68fc3447c}{M\+D5()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D\+C2}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+M\+D\+C2 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_gaa83a12e2e54fe66ace6a9a33392d1dbb}{MDC2}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"4517036cf97b2407d6fe22aa5ab878a3"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em M\+D\+C2-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{M\+D\+C2\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{M\+D\+C2\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+M\+D\+C2\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}


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

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga87e26aea620d34cb4258773e74f61ad6}{M\+D\+C2\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{R\+I\+P\+E\+M\+D160}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+R\+I\+P\+E\+M\+D160 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}


Returns the \href{http://en.wikipedia.org/wiki/RIPEMD}{\tt R\+I\+P\+E\+M\+D 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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}{RIPEMD160}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"108f07b8382412612c048d07d13f814118445acd"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em R\+I\+P\+E\+M\+D160-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
R\+I\+P\+E\+M\+D160\+\_\+bin() 
\end{DoxySeeAlso}
\hypertarget{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[{R\+I\+P\+E\+M\+D160\+\_\+binary}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+R\+I\+P\+E\+M\+D160\+\_\+binary (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga588dd676ff78bd5fbc3e18d6b0a328fe}


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

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga39c77370f9b8106e5668e2d6480af148}{R\+I\+P\+E\+M\+D160()} 
\end{DoxySeeAlso}
\hypertarget{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{}\index{Digest (\+Hash) Functions@{Digest (\+Hash) Functions}!S\+H\+A@{S\+H\+A}}
\index{S\+H\+A@{S\+H\+A}!Digest (\+Hash) Functions@{Digest (\+Hash) Functions}}
\subsubsection[{S\+H\+A}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}


Returns the S\+H\+A (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\+L\+Y}
\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}
my \textcolor{keywordtype}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}{S\+H\+A\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A1}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A1 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}{SHA1}(\textcolor{stringliteral}{"hello"}); # \textcolor{stringliteral}{"aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A1-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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}
\hyperlink{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}{S\+H\+A1\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A1\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A1\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga64b4d9ca4dc8396ad3bf5b6e5fd6ac6b}


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

\begin{DoxyParagraph}{Code Flags\+:}
\hyperlink{code_flags_RET_VALUE_ONLY}{R\+E\+T\+\_\+\+V\+A\+L\+U\+E\+\_\+\+O\+N\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gaa4c0459a185dd677765d7ef073bf32cb}{S\+H\+A1()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A224}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A224 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}{SHA224}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193
      "}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A224-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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}
\hyperlink{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}{S\+H\+A224\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A224\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A224\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gad78d030a15fd77e92b6acbebf0f01c3b}


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 object. 

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga31657accc4ffcdf966506bb07bc9a5f5}{S\+H\+A224()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A256}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A256 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}{SHA256}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"
      2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A256-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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}
\hyperlink{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}{S\+H\+A256\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A256\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A256\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga3e79a4b0a0fcbc536472144fbcb60fd7}


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 object. 

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga2650a6a57142a6c971c583f85c102bef}{S\+H\+A256()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A384}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A384 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}{SHA384}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"
      59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A384-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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}
\hyperlink{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}{S\+H\+A384\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A384\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A384\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga46725d7321778042e1acc9fc7e4f0842}


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 object. 

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gad1ac64eef1215b1da8be27c2cd3554d8}{S\+H\+A384()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A512}]{\setlength{\rightskip}{0pt plus 5cm}string Qore\+::\+S\+H\+A512 (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}


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\+L\+Y}
\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}
my \textcolor{keywordtype}{string} $str = \hyperlink{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}{SHA512}(\textcolor{stringliteral}{"hello"}); # returns \textcolor{stringliteral}{"
      9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043"}
\end{DoxyCode}

\end{DoxyParagraph}

\begin{DoxyExceptions}{Exceptions}
{\em S\+H\+A512-\/\+D\+I\+G\+E\+S\+T-\/\+E\+R\+R\+O\+R} & 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}
\hyperlink{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}{S\+H\+A512\+\_\+bin()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A512\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A512\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_ga14a7dc1fd6565a0ffa61d2dc943ef3e1}


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 object. 

\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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_ga6f598af6d5f8eecd18e9b8048ca610b3}{S\+H\+A512()} 
\end{DoxySeeAlso}
\hypertarget{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[{S\+H\+A\+\_\+bin}]{\setlength{\rightskip}{0pt plus 5cm}binary Qore\+::\+S\+H\+A\+\_\+bin (
\begin{DoxyParamCaption}
\item[{data}]{data}
\end{DoxyParamCaption}
)}\label{group__digest__functions_gaca414387b2224d7f22b4ebadec0b419d}


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

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\+L\+Y}
\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 object of the digest
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}
my \hyperlink{group__type__conversion__functions_gaf11c7f5c43ced1e9b95bd2270ee87ed9}{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\+O\+R} & error calculating digest (should not normally happen)\\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__digest__functions_gadc789f4681257bd18201d49d9d06db82}{S\+H\+A()} 
\end{DoxySeeAlso}
