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


Function that allow ciphering content.  


\subsection*{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\+\_\+\+S\+SL {\bfseries Emile\+\_\+\+S\+SL}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga3b588c91bb3dde6b7a393d5fdfddaa42}\label{group__Emile__Cipher__Group_ga3b588c91bb3dde6b7a393d5fdfddaa42}} 
enum {\bfseries \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Backend} \{ \newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+N\+O\+NE}, 
\newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+O\+P\+E\+N\+S\+SL}, 
\newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+G\+N\+U\+T\+LS}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gad47127a7dba61ed2144f3948683e348a}\label{group__Emile__Cipher__Group_gad47127a7dba61ed2144f3948683e348a}} 
enum {\bfseries \+\_\+\+Emile\+\_\+\+Cipher\+\_\+\+Algorithm} \{ {\bfseries E\+M\+I\+L\+E\+\_\+\+A\+E\+S256\+\_\+\+C\+BC}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaf09cd634e61f33a0bee80a4d87d839de}\label{group__Emile__Cipher__Group_gaf09cd634e61f33a0bee80a4d87d839de}} 
enum {\bfseries Emile\+\_\+\+Cipher\+\_\+\+Type} \{ \newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+S\+S\+Lv23}, 
\newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+T\+L\+Sv1}
 \}
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gaa414c7416eec83f241bdbeafa07e1fb7}\label{group__Emile__Cipher__Group_gaa414c7416eec83f241bdbeafa07e1fb7}} 
enum {\bfseries Emile\+\_\+\+Want\+\_\+\+Type} \{ \newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+W\+A\+N\+T\+\_\+\+N\+O\+T\+H\+I\+NG} = 0, 
\newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+W\+A\+N\+T\+\_\+\+R\+E\+AD} = 1, 
\newline
{\bfseries E\+M\+I\+L\+E\+\_\+\+W\+A\+N\+T\+\_\+\+W\+R\+I\+TE} = 3
 \}
\end{DoxyCompactItemize}
\subsection*{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_gab82453d27e8547121b8c8e9404e087aa}{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_gacfc086a886e4bf13f3d04a2fe2835c7c}{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_ga0631bf6d0357611ea350e5dbaeb2f615}\label{group__Emile__Cipher__Group_ga0631bf6d0357611ea350e5dbaeb2f615}} 
Emile\+\_\+\+S\+SL $\ast$ {\bfseries emile\+\_\+cipher\+\_\+server\+\_\+listen} (Emile\+\_\+\+Cipher\+\_\+\+Type t)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga4da9a55f914859b28ec6d29542184631}\label{group__Emile__Cipher__Group_ga4da9a55f914859b28ec6d29542184631}} 
Emile\+\_\+\+S\+SL $\ast$ {\bfseries emile\+\_\+cipher\+\_\+client\+\_\+connect} (Emile\+\_\+\+S\+SL $\ast$server, int fd)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga32ed8c85b7b7b9328b12fd7344fd2b46}\label{group__Emile__Cipher__Group_ga32ed8c85b7b7b9328b12fd7344fd2b46}} 
Emile\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\ast$emile, const \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} $\ast$buffer)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_ga10d0aecb0a53319e7d29bb5505fedc14}\label{group__Emile__Cipher__Group_ga10d0aecb0a53319e7d29bb5505fedc14}} 
const char $\ast$ {\bfseries emile\+\_\+cipher\+\_\+error\+\_\+get} (const Emile\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\ast$emile, const char $\ast$name)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gab44d4dadee1579bcd80837a555cef197}\label{group__Emile__Cipher__Group_gab44d4dadee1579bcd80837a555cef197}} 
const char $\ast$ {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+name\+\_\+get} (const Emile\+\_\+\+S\+SL $\ast$emile)
\item 
\mbox{\Hypertarget{group__Emile__Cipher__Group_gab9d3919cc29732cb49f963ffdbc7aaf7}\label{group__Emile__Cipher__Group_gab9d3919cc29732cb49f963ffdbc7aaf7}} 
void {\bfseries emile\+\_\+cipher\+\_\+verify\+\_\+set} (Emile\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\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\+\_\+\+S\+SL $\ast$emile)
\end{DoxyCompactItemize}


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



\subsection{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}}
\subsubsection{\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}}
\subsubsection{\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}


\subsection{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}}
\subsubsection{\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 G\+N\+U\+T\+LS or Open\+S\+SL, so that you get the same setup for everyone.

\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE 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 E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by ecore\+\_\+con\+\_\+url\+\_\+init(), eet\+\_\+identity\+\_\+certificate\+\_\+print(), eet\+\_\+identity\+\_\+close(), eet\+\_\+identity\+\_\+open(), and eet\+\_\+identity\+\_\+print().

\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}}
\subsubsection{\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_gab82453d27e8547121b8c8e9404e087aa}\label{group__Emile__Cipher__Group_gab82453d27e8547121b8c8e9404e087aa}} 
\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}}
\subsubsection{\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 N\+U\+LL on error.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\mbox{\Hypertarget{group__Emile__Cipher__Group_gacfc086a886e4bf13f3d04a2fe2835c7c}\label{group__Emile__Cipher__Group_gacfc086a886e4bf13f3d04a2fe2835c7c}} 
\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}}
\subsubsection{\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 N\+U\+LL 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}


Referenced by eet\+\_\+read\+\_\+cipher().

