\hypertarget{group__Emile__Cipher__Group}{}\doxysection{Top level functions}
\label{group__Emile__Cipher__Group}\index{Top level functions@{Top level functions}}


Function that allow ciphering content.  


\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Backend \mbox{\hyperlink{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}{Emile\+\_\+\+Cipher\+\_\+\+Backend}}
\begin{DoxyCompactList}\small\item\em Flags describing the implemented backend. \end{DoxyCompactList}\item 
typedef enum \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Algorithm \mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}}
\begin{DoxyCompactList}\small\item\em Flags describing known cipher algorithm. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga1782d4c1a6cf5cb8abbf7eab42662b35}\label{group__Emile__Cipher__Group_ga1782d4c1a6cf5cb8abbf7eab42662b35}} 
typedef struct \+\_\+\+Emile\+\_\+\+SSL {\bfseries Emile\+\_\+\+SSL}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga3b588c91bb3dde6b7a393d5fdfddaa42}\label{group__Emile__Cipher__Group_ga3b588c91bb3dde6b7a393d5fdfddaa42}} 
enum {\bfseries \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Backend} \{ \newline
{\bfseries EMILE\+\_\+\+NONE}
, \newline
{\bfseries EMILE\+\_\+\+OPENSSL}
, \newline
{\bfseries EMILE\+\_\+\+GNUTLS}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gad47127a7dba61ed2144f3948683e348a}\label{group__Emile__Cipher__Group_gad47127a7dba61ed2144f3948683e348a}} 
enum {\bfseries \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Algorithm} \{ {\bfseries EMILE\+\_\+\+AES256\+\_\+\+CBC}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaf09cd634e61f33a0bee80a4d87d839de}\label{group__Emile__Cipher__Group_gaf09cd634e61f33a0bee80a4d87d839de}} 
enum {\bfseries Emile\+\_\+\+Cipher\+\_\+\+Type} \{ \newline
{\bfseries EMILE\+\_\+\+SSLv23}
, \newline
{\bfseries EMILE\+\_\+\+TLSv1}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaa414c7416eec83f241bdbeafa07e1fb7}\label{group__Emile__Cipher__Group_gaa414c7416eec83f241bdbeafa07e1fb7}} 
enum {\bfseries Emile\+\_\+\+Want\+\_\+\+Type} \{ \newline
{\bfseries EMILE\+\_\+\+WANT\+\_\+\+NOTHING} = 0
, \newline
{\bfseries EMILE\+\_\+\+WANT\+\_\+\+READ} = 1
, \newline
{\bfseries EMILE\+\_\+\+WANT\+\_\+\+WRITE} = 3
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Emile__Cipher__Group_ga22b87d04488dcee57045ddc0888f4be8}{emile\+\_\+cipher\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Force the initialization of the underlying cipher library. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}{Emile\+\_\+\+Cipher\+\_\+\+Backend}} \mbox{\hyperlink{group__Emile__Cipher__Group_gaff7b637ff20e661a21b74b295631e965}{emile\+\_\+cipher\+\_\+module\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Get the name of the current used backend. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$ \mbox{\hyperlink{group__Emile__Cipher__Group_gac4498328161d16ca45da65c55b33288a}{emile\+\_\+binbuf\+\_\+cipher}} (\mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}} algo, const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$in, const char $\ast$key, unsigned int length)
\begin{DoxyCompactList}\small\item\em Cipher a buffer with a defined algorithm and key. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$ \mbox{\hyperlink{group__Emile__Cipher__Group_gad8f8a8895108021d06d96de43a02bf0a}{emile\+\_\+binbuf\+\_\+decipher}} (\mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}} algo, const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$in, const char $\ast$key, unsigned int length)
\begin{DoxyCompactList}\small\item\em Decipher a buffer with a defined algorithm and key. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga34e418f24eb8131b9c6e29d920e359e9}\label{group__Emile__Cipher__Group_ga34e418f24eb8131b9c6e29d920e359e9}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+binbuf\+\_\+hmac\+\_\+sha1} (const char $\ast$key, unsigned int key\+\_\+len, const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$data, unsigned char digest\mbox{[}20\mbox{]})
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gafe95004bd10d7696044fe008469a2ad1}\label{group__Emile__Cipher__Group_gafe95004bd10d7696044fe008469a2ad1}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+binbuf\+\_\+sha1} (const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$data, unsigned char digest\mbox{[}20\mbox{]})
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga001bf6c55835b79c797fc15e56c0a778}\label{group__Emile__Cipher__Group_ga001bf6c55835b79c797fc15e56c0a778}} 
Emile\+\_\+\+SSL $\ast$ {\bfseries emile\+\_\+cipher\+\_\+server\+\_\+listen} (Emile\+\_\+\+Cipher\+\_\+\+Type t)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gac783307fc1a47887d8dd1d1acb078214}\label{group__Emile__Cipher__Group_gac783307fc1a47887d8dd1d1acb078214}} 
Emile\+\_\+\+SSL $\ast$ {\bfseries emile\+\_\+cipher\+\_\+client\+\_\+connect} (Emile\+\_\+\+SSL $\ast$server, int fd)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga488782bc359b8ba971748c97fea59f20}\label{group__Emile__Cipher__Group_ga488782bc359b8ba971748c97fea59f20}} 
Emile\+\_\+\+SSL $\ast$ {\bfseries emile\+\_\+cipher\+\_\+server\+\_\+connect} (Emile\+\_\+\+Cipher\+\_\+\+Type t)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga1b75a23e9c01168d510383a19bb8f575}\label{group__Emile__Cipher__Group_ga1b75a23e9c01168d510383a19bb8f575}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+free} (Emile\+\_\+\+SSL $\ast$emile)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga629e3f86408a184f2198afce54732ee7}\label{group__Emile__Cipher__Group_ga629e3f86408a184f2198afce54732ee7}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+cafile\+\_\+add} (Emile\+\_\+\+SSL $\ast$emile, const char $\ast$file)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaf2cabacb1d9715b9909f3315857ffd99}\label{group__Emile__Cipher__Group_gaf2cabacb1d9715b9909f3315857ffd99}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+cert\+\_\+add} (Emile\+\_\+\+SSL $\ast$emile, const char $\ast$file)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga68e0279875dcafcb0fcc157f86a6c498}\label{group__Emile__Cipher__Group_ga68e0279875dcafcb0fcc157f86a6c498}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+privkey\+\_\+add} (Emile\+\_\+\+SSL $\ast$emile, const char $\ast$file)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga6de70e914cdcb459143bbf1e648cdf39}\label{group__Emile__Cipher__Group_ga6de70e914cdcb459143bbf1e648cdf39}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+crl\+\_\+add} (Emile\+\_\+\+SSL $\ast$emile, const char $\ast$file)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gab1bee8b8563fdd613a27bed203ea8361}\label{group__Emile__Cipher__Group_gab1bee8b8563fdd613a27bed203ea8361}} 
int {\bfseries emile\+\_\+cipher\+\_\+read} (Emile\+\_\+\+SSL $\ast$emile, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$buffer)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga07ff0b3f04b455b7cb6d9e1a0ace5f99}\label{group__Emile__Cipher__Group_ga07ff0b3f04b455b7cb6d9e1a0ace5f99}} 
int {\bfseries emile\+\_\+cipher\+\_\+write} (Emile\+\_\+\+SSL $\ast$emile, const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$buffer)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga5c950ff98336ccbce0d6a378097776b4}\label{group__Emile__Cipher__Group_ga5c950ff98336ccbce0d6a378097776b4}} 
const char $\ast$ {\bfseries emile\+\_\+cipher\+\_\+error\+\_\+get} (const Emile\+\_\+\+SSL $\ast$emile)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga1ffe538591dce4bb50bfdaea8b9d7237}\label{group__Emile__Cipher__Group_ga1ffe538591dce4bb50bfdaea8b9d7237}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+name\+\_\+set} (Emile\+\_\+\+SSL $\ast$emile, const char $\ast$name)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gab780ebb9a57898cc6582c6af919bbd1a}\label{group__Emile__Cipher__Group_gab780ebb9a57898cc6582c6af919bbd1a}} 
const char $\ast$ {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+name\+\_\+get} (const Emile\+\_\+\+SSL $\ast$emile)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gab9d3919cc29732cb49f963ffdbc7aaf7}\label{group__Emile__Cipher__Group_gab9d3919cc29732cb49f963ffdbc7aaf7}} 
void {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+set} (Emile\+\_\+\+SSL $\ast$emile, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} verify)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaf9653f35ffc3638b4cbc3a2388fe638c}\label{group__Emile__Cipher__Group_gaf9653f35ffc3638b4cbc3a2388fe638c}} 
void {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+basic\+\_\+set} (Emile\+\_\+\+SSL $\ast$emile, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} verify\+\_\+basic)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gae93421b424b7d1b9bd812ef73a00f5b6}\label{group__Emile__Cipher__Group_gae93421b424b7d1b9bd812ef73a00f5b6}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+get} (const Emile\+\_\+\+SSL $\ast$emile)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga05c3ad3ce4934164f61b9381bf870b4a}\label{group__Emile__Cipher__Group_ga05c3ad3ce4934164f61b9381bf870b4a}} 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+basic\+\_\+get} (const Emile\+\_\+\+SSL $\ast$emile)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Function that allow ciphering content. 



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}\label{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}} 
\index{Top level functions@{Top level functions}!Emile\_Cipher\_Backend@{Emile\_Cipher\_Backend}}
\index{Emile\_Cipher\_Backend@{Emile\_Cipher\_Backend}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{Emile\_Cipher\_Backend}{Emile\_Cipher\_Backend}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}{Emile\+\_\+\+Cipher\+\_\+\+Backend}}}



Flags describing the implemented backend. 

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}\label{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}} 
\index{Top level functions@{Top level functions}!Emile\_Cipher\_Algorithm@{Emile\_Cipher\_Algorithm}}
\index{Emile\_Cipher\_Algorithm@{Emile\_Cipher\_Algorithm}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{Emile\_Cipher\_Algorithm}{Emile\_Cipher\_Algorithm}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}}}



Flags describing known cipher algorithm. 

\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga22b87d04488dcee57045ddc0888f4be8}\label{group__Emile__Cipher__Group_ga22b87d04488dcee57045ddc0888f4be8}} 
\index{Top level functions@{Top level functions}!emile\_cipher\_init@{emile\_cipher\_init}}
\index{emile\_cipher\_init@{emile\_cipher\_init}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{emile\_cipher\_init()}{emile\_cipher\_init()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} emile\+\_\+cipher\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Force the initialization of the underlying cipher library. 

This call force the initialisation of GNUTLS or Open\+SSL, so that you get the same setup for everyone.

\begin{DoxyReturn}{Returns}
EINA\+\_\+\+TRUE on success, EINA\+\_\+\+FALSE otherwise. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Emile__Cipher__Group_gaff7b637ff20e661a21b74b295631e965}{emile\+\_\+cipher\+\_\+module\+\_\+get}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.



Referenced by \mbox{\hyperlink{group__Ecore__Con__Url__Group_ga96388997453269f58bde7873811af6d5}{ecore\+\_\+con\+\_\+url\+\_\+init()}}, \mbox{\hyperlink{group__Eet__Cipher__Group_ga131e4a43a0ae98dc31a9a642ada33357}{eet\+\_\+identity\+\_\+certificate\+\_\+print()}}, \mbox{\hyperlink{group__Eet__Cipher__Group_gaa8b2e329d0ecdb55b564e1aa70ba557f}{eet\+\_\+identity\+\_\+close()}}, \mbox{\hyperlink{group__Eet__Cipher__Group_ga0bedcc0ed03bcf6f09002cc888c755e2}{eet\+\_\+identity\+\_\+open()}}, \mbox{\hyperlink{group__Eet__Cipher__Group_ga846b1e0f0f4a1a9c7ab9a4fc55728534}{eet\+\_\+identity\+\_\+print()}}, \mbox{\hyperlink{group__Emile__Cipher__Group_gac4498328161d16ca45da65c55b33288a}{emile\+\_\+binbuf\+\_\+cipher()}}, and \mbox{\hyperlink{group__Emile__Cipher__Group_gad8f8a8895108021d06d96de43a02bf0a}{emile\+\_\+binbuf\+\_\+decipher()}}.

\mbox{\Hypertarget{group__Emile__Cipher__Group_gaff7b637ff20e661a21b74b295631e965}\label{group__Emile__Cipher__Group_gaff7b637ff20e661a21b74b295631e965}} 
\index{Top level functions@{Top level functions}!emile\_cipher\_module\_get@{emile\_cipher\_module\_get}}
\index{emile\_cipher\_module\_get@{emile\_cipher\_module\_get}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{emile\_cipher\_module\_get()}{emile\_cipher\_module\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Emile__Cipher__Group_ga007d8d9ac1a4f51cdd1748c193339b0e}{Emile\+\_\+\+Cipher\+\_\+\+Backend}} emile\+\_\+cipher\+\_\+module\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get the name of the current used backend. 

\begin{DoxyReturn}{Returns}
the name of the current cipher backend. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\mbox{\Hypertarget{group__Emile__Cipher__Group_gac4498328161d16ca45da65c55b33288a}\label{group__Emile__Cipher__Group_gac4498328161d16ca45da65c55b33288a}} 
\index{Top level functions@{Top level functions}!emile\_binbuf\_cipher@{emile\_binbuf\_cipher}}
\index{emile\_binbuf\_cipher@{emile\_binbuf\_cipher}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{emile\_binbuf\_cipher()}{emile\_binbuf\_cipher()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$ emile\+\_\+binbuf\+\_\+cipher (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}}}]{algo,  }\item[{const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$}]{in,  }\item[{const char $\ast$}]{key,  }\item[{unsigned int}]{length }\end{DoxyParamCaption})}



Cipher a buffer with a defined algorithm and key. 


\begin{DoxyParams}{Parameters}
{\em algo} & The algorithm to use to cipher the buffer. \\
\hline
{\em in} & The buffer to cipher. \\
\hline
{\em key} & The symetric key to use for ciphering. \\
\hline
{\em length} & The length of the symetric key to be used. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the ciphered buffer or NULL on error.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_gaf9049977cc5aeda3b8999eee4c31d317}{eina\+\_\+binbuf\+\_\+append\+\_\+buffer()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_gafed8f157ce1542b0e92fc6668649af08}{eina\+\_\+binbuf\+\_\+append\+\_\+length()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga9d4cb2aa16689f4388f082c18b0ac395}{eina\+\_\+binbuf\+\_\+free()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga70c8dfe71516ea732b4a168f658bcfb3}{eina\+\_\+binbuf\+\_\+length\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga9cad59aa480e4b9daebe278507db4e5a}{eina\+\_\+binbuf\+\_\+new()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga2fffed5c10282e316fb6c4180194f34c}{eina\+\_\+binbuf\+\_\+remove()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga3810a1ca5efb83920182575f7c4de9dc}{eina\+\_\+binbuf\+\_\+string\+\_\+get()}}, and \mbox{\hyperlink{group__Emile__Cipher__Group_ga22b87d04488dcee57045ddc0888f4be8}{emile\+\_\+cipher\+\_\+init()}}.



Referenced by \mbox{\hyperlink{group__Eet__File__Cipher__Group_ga0c08a5881d6fd3474a8cbe03a445aff3}{eet\+\_\+write\+\_\+cipher()}}.

\mbox{\Hypertarget{group__Emile__Cipher__Group_gad8f8a8895108021d06d96de43a02bf0a}\label{group__Emile__Cipher__Group_gad8f8a8895108021d06d96de43a02bf0a}} 
\index{Top level functions@{Top level functions}!emile\_binbuf\_decipher@{emile\_binbuf\_decipher}}
\index{emile\_binbuf\_decipher@{emile\_binbuf\_decipher}!Top level functions@{Top level functions}}
\doxysubsubsection{\texorpdfstring{emile\_binbuf\_decipher()}{emile\_binbuf\_decipher()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$ emile\+\_\+binbuf\+\_\+decipher (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Emile__Cipher__Group_ga31e4855650932812fe4f59009b271db2}{Emile\+\_\+\+Cipher\+\_\+\+Algorithm}}}]{algo,  }\item[{const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$}]{in,  }\item[{const char $\ast$}]{key,  }\item[{unsigned int}]{length }\end{DoxyParamCaption})}



Decipher a buffer with a defined algorithm and key. 


\begin{DoxyParams}{Parameters}
{\em algo} & The algorithm to use to decipher the buffer. \\
\hline
{\em in} & The ciphered buffer to decipher. \\
\hline
{\em key} & The symetric key used to cipher the buffer. \\
\hline
{\em length} & The length of the symetric key used to cipher the buffer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the clear buffer or NULL on error.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This won\textquotesingle{}t detect if the given key is the correct one or not. You have to check that the returned data make sense. You should also not treat them as safe.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_gafed8f157ce1542b0e92fc6668649af08}{eina\+\_\+binbuf\+\_\+append\+\_\+length()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga9d4cb2aa16689f4388f082c18b0ac395}{eina\+\_\+binbuf\+\_\+free()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga70c8dfe71516ea732b4a168f658bcfb3}{eina\+\_\+binbuf\+\_\+length\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga9cad59aa480e4b9daebe278507db4e5a}{eina\+\_\+binbuf\+\_\+new()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga2fffed5c10282e316fb6c4180194f34c}{eina\+\_\+binbuf\+\_\+remove()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga3810a1ca5efb83920182575f7c4de9dc}{eina\+\_\+binbuf\+\_\+string\+\_\+get()}}, and \mbox{\hyperlink{group__Emile__Cipher__Group_ga22b87d04488dcee57045ddc0888f4be8}{emile\+\_\+cipher\+\_\+init()}}.



Referenced by \mbox{\hyperlink{group__Eet__File__Cipher__Group_gac6d14b588c7e192dc621f466749f3177}{eet\+\_\+read\+\_\+cipher()}}.

