2022-04-08 14:42:47 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.5" / >
2024-04-12 13:21:49 +00:00
< title > MCUXpresso SDK API Reference Manual: Hashcrypt HASH< / title >
2022-04-08 14:42:47 +00:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< script type = "text/javascript" >
$(document).ready(initResizable);
$(window).load(resizeHeight);
< / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { searchBox.OnSelectItem(0); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "customdoxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectlogo" > < img alt = "Logo" src = "fs_logo.gif" / > < / td >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > MCUXpresso SDK API Reference Manual
2024-04-12 13:21:49 +00:00
  < span id = "projectnumber" > Rev 2.15.000< / span >
2022-04-08 14:42:47 +00:00
< / div >
< div id = "projectbrief" > NXP Semiconductors< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "pages.html" > < span > Related  Pages< / span > < / a > < / li >
< li > < a href = "modules.html" > < span > API  Reference< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
$(document).ready(function(){initNavTree('a00027.html','');});
< / script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" > < span class = "SelectionMark" >   < / span > All< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" > < span class = "SelectionMark" >   < / span > Data Structures< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" > < span class = "SelectionMark" >   < / span > Functions< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" > < span class = "SelectionMark" >   < / span > Variables< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" > < span class = "SelectionMark" >   < / span > Typedefs< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" > < span class = "SelectionMark" >   < / span > Enumerations< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" > < span class = "SelectionMark" >   < / span > Enumerator< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" > < span class = "SelectionMark" >   < / span > Groups< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" > < span class = "SelectionMark" >   < / span > Pages< / a > < / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Data Structures< / a > |
2024-04-12 13:21:49 +00:00
< a href = "#define-members" > Macros< / a > |
2023-01-26 02:53:53 +00:00
< a href = "#typedef-members" > Typedefs< / a > |
2024-04-12 13:21:49 +00:00
< a href = "#func-members" > Functions< / a > < / div >
2022-04-08 14:42:47 +00:00
< div class = "headertitle" >
2024-04-12 13:21:49 +00:00
< div class = "title" > Hashcrypt HASH< div class = "ingroups" > < a class = "el" href = "a00254.html" > Hashcrypt: The Cryptographic Accelerator< / a > < / div > < / div > < / div >
2022-04-08 14:42:47 +00:00
< / div > <!-- header -->
< div class = "contents" >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Overview< / h2 >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Data Structures< / h2 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:a00341" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#a00341" > _hashcrypt_hash_ctx_t< / a > < / td > < / tr >
< tr class = "memdesc:a00341" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Storage type used to save hash context. < a href = "a00027.html#a00341" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a00341" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table > < table class = "memberdecls" >
2024-04-12 13:21:49 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "define-members" > < / a >
Macros< / h2 > < / td > < / tr >
< tr class = "memitem:gabc879a329aeebb2374413abfc5083a21" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#gabc879a329aeebb2374413abfc5083a21" > HASHCRYPT_HASH_CTX_SIZE< / a >       22< / td > < / tr >
< tr class = "memdesc:gabc879a329aeebb2374413abfc5083a21" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > HASHCRYPT HASH Context size. < a href = "#gabc879a329aeebb2374413abfc5083a21" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gabc879a329aeebb2374413abfc5083a21" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct < br class = "typebreak" / >
< a class = "el" href = "a00027.html#a00341" > _hashcrypt_hash_ctx_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > < / td > < / tr >
< tr class = "memdesc:gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Storage type used to save hash context. < a href = "#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gae5749cb2ff6548699a66eea40667f7c6" > < td class = "memItemLeft" align = "right" valign = "top" > typedef void(*  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#gae5749cb2ff6548699a66eea40667f7c6" > hashcrypt_callback_t< / a > )(HASHCRYPT_Type *base, < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *ctx, < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > status, void *userData)< / td > < / tr >
< tr class = "memdesc:gae5749cb2ff6548699a66eea40667f7c6" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > HASHCRYPT background hash callback function. < a href = "#gae5749cb2ff6548699a66eea40667f7c6" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gae5749cb2ff6548699a66eea40667f7c6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
< tr class = "memitem:gabdb13d49e7b828fa64af17230f3ac799" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#gabdb13d49e7b828fa64af17230f3ac799" > HASHCRYPT_SHA< / a > (HASHCRYPT_Type *base, < a class = "el" href = "a00256.html#gafccc8d49b73cba6bb99024890615c07e" > hashcrypt_algo_t< / a > algo, const uint8_t *input, size_t inputSize, uint8_t *output, size_t *outputSize)< / td > < / tr >
< tr class = "memdesc:gabdb13d49e7b828fa64af17230f3ac799" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Create HASH on given data. < a href = "#gabdb13d49e7b828fa64af17230f3ac799" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gabdb13d49e7b828fa64af17230f3ac799" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga704d85f639d6e7c6a1450bc20a68425d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#ga704d85f639d6e7c6a1450bc20a68425d" > HASHCRYPT_SHA_Init< / a > (HASHCRYPT_Type *base, < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *ctx, < a class = "el" href = "a00256.html#gafccc8d49b73cba6bb99024890615c07e" > hashcrypt_algo_t< / a > algo)< / td > < / tr >
< tr class = "memdesc:ga704d85f639d6e7c6a1450bc20a68425d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Initialize HASH context. < a href = "#ga704d85f639d6e7c6a1450bc20a68425d" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga704d85f639d6e7c6a1450bc20a68425d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga73e2339a36879daa7aa54491387ba103" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#ga73e2339a36879daa7aa54491387ba103" > HASHCRYPT_SHA_Update< / a > (HASHCRYPT_Type *base, < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *ctx, const uint8_t *input, size_t inputSize)< / td > < / tr >
< tr class = "memdesc:ga73e2339a36879daa7aa54491387ba103" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Add data to current HASH. < a href = "#ga73e2339a36879daa7aa54491387ba103" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga73e2339a36879daa7aa54491387ba103" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gad7ff02fc54187b62585a4e3d940b8037" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#gad7ff02fc54187b62585a4e3d940b8037" > HASHCRYPT_SHA_Finish< / a > (HASHCRYPT_Type *base, < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *ctx, uint8_t *output, size_t *outputSize)< / td > < / tr >
< tr class = "memdesc:gad7ff02fc54187b62585a4e3d940b8037" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Finalize hashing. < a href = "#gad7ff02fc54187b62585a4e3d940b8037" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gad7ff02fc54187b62585a4e3d940b8037" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
< hr / > < h2 class = "groupheader" > Data Structure Documentation< / h2 >
< a name = "a00341" id = "a00341" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > struct _hashcrypt_hash_ctx_t< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< div class = "textblock" > < / div > < table class = "memberdecls" >
< tr > < td colspan = "2" > < h3 > Data Fields< / h3 > < / td > < / tr >
< tr class = "memitem:ae1a042801629fa6e97e5347e9c84f1ae" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ae1a042801629fa6e97e5347e9c84f1ae" > < / a >
uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00027.html#ae1a042801629fa6e97e5347e9c84f1ae" > x< / a > [< a class = "el" href = "a00027.html#gabc879a329aeebb2374413abfc5083a21" > HASHCRYPT_HASH_CTX_SIZE< / a > ]< / td > < / tr >
< tr class = "memdesc:ae1a042801629fa6e97e5347e9c84f1ae" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > storage < br / > < / td > < / tr >
< tr class = "separator:ae1a042801629fa6e97e5347e9c84f1ae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Macro Definition Documentation< / h2 >
< a class = "anchor" id = "gabc879a329aeebb2374413abfc5083a21" > < / a >
2022-04-08 14:42:47 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define HASHCRYPT_HASH_CTX_SIZE      22< / td >
2022-04-08 14:42:47 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2023-01-26 02:53:53 +00:00
2022-04-08 14:42:47 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Typedef Documentation< / h2 >
< a class = "anchor" id = "gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > < / a >
2022-04-08 14:42:47 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef struct < a class = "el" href = "a00027.html#a00341" > _hashcrypt_hash_ctx_t< / a > < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > < / td >
2022-04-08 14:42:47 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gae5749cb2ff6548699a66eea40667f7c6" > < / a >
2022-04-08 14:42:47 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef void(* hashcrypt_callback_t)(HASHCRYPT_Type *base, < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *ctx, < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > status, void *userData)< / td >
2022-04-08 14:42:47 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Function Documentation< / h2 >
< a class = "anchor" id = "gabdb13d49e7b828fa64af17230f3ac799" > < / a >
2022-04-08 14:42:47 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > HASHCRYPT_SHA < / td >
2022-04-08 14:42:47 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > HASHCRYPT_Type *  < / td >
2022-04-08 14:42:47 +00:00
< td class = "paramname" > < em > base< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00256.html#gafccc8d49b73cba6bb99024890615c07e" > hashcrypt_algo_t< / a >   < / td >
< td class = "paramname" > < em > algo< / em > , < / td >
2022-04-08 14:42:47 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > input< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramname" > < em > inputSize< / em > , < / td >
2022-04-08 14:42:47 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint8_t *  < / td >
< td class = "paramname" > < em > output< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > size_t *  < / td >
< td class = "paramname" > < em > outputSize< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Perform the full SHA in one function call. The function is blocking.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > base< / td > < td > HASHCRYPT peripheral base address < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > algo< / td > < td > Underlaying algorithm to use for hash computation. < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > input< / td > < td > Input data < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > inputSize< / td > < td > Size of input data in bytes < / td > < / tr >
< tr > < td class = "paramdir" > [out]< / td > < td class = "paramname" > output< / td > < td > Output hash data < / td > < / tr >
< tr > < td class = "paramdir" > [out]< / td > < td class = "paramname" > outputSize< / td > < td > Output parameter storing the size of the output hash in bytes < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Status of the one call hash operation. < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga704d85f639d6e7c6a1450bc20a68425d" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > HASHCRYPT_SHA_Init < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > HASHCRYPT_Type *  < / td >
2023-01-26 02:53:53 +00:00
< td class = "paramname" > < em > base< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *  < / td >
< td class = "paramname" > < em > ctx< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00256.html#gafccc8d49b73cba6bb99024890615c07e" > hashcrypt_algo_t< / a >   < / td >
< td class = "paramname" > < em > algo< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function initializes the HASH.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > base< / td > < td > HASHCRYPT peripheral base address < / td > < / tr >
< tr > < td class = "paramdir" > [out]< / td > < td class = "paramname" > ctx< / td > < td > Output hash context < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > algo< / td > < td > Underlaying algorithm to use for hash computation. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Status of initialization < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga73e2339a36879daa7aa54491387ba103" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > HASHCRYPT_SHA_Update < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > HASHCRYPT_Type *  < / td >
2023-01-26 02:53:53 +00:00
< td class = "paramname" > < em > base< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *  < / td >
< td class = "paramname" > < em > ctx< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > const uint8_t *  < / td >
< td class = "paramname" > < em > input< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > inputSize< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Add data to current HASH. This can be called repeatedly with an arbitrary amount of data to be hashed. The functions blocks. If it returns kStatus_Success, the running hash has been updated (HASHCRYPT has processed the input data), so the memory at < code > input< / code > pointer can be released back to system. The HASHCRYPT context buffer is updated with the running hash and with all necessary information to support possible context switch.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > base< / td > < td > HASHCRYPT peripheral base address < / td > < / tr >
< tr > < td class = "paramdir" > [in,out]< / td > < td class = "paramname" > ctx< / td > < td > HASH context < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > input< / td > < td > Input data < / td > < / tr >
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > inputSize< / td > < td > Size of input data in bytes < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Status of the hash update operation < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gad7ff02fc54187b62585a4e3d940b8037" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092" > status_t< / a > HASHCRYPT_SHA_Finish < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > HASHCRYPT_Type *  < / td >
2023-01-26 02:53:53 +00:00
< td class = "paramname" > < em > base< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00027.html#gae83ac9a19d3fb2db5b52e8e3e3f66ce0" > hashcrypt_hash_ctx_t< / a > *  < / td >
< td class = "paramname" > < em > ctx< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "paramkey" > < / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint8_t *  < / td >
< td class = "paramname" > < em > output< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > size_t *  < / td >
< td class = "paramname" > < em > outputSize< / em >   < / td >
2022-04-08 14:42:47 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Outputs the final hash (computed by HASHCRYPT_HASH_Update()) and erases the context.< / p >
2022-04-08 14:42:47 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramdir" > < / td > < td class = "paramname" > base< / td > < td > HASHCRYPT peripheral base address < / td > < / tr >
< tr > < td class = "paramdir" > [in,out]< / td > < td class = "paramname" > ctx< / td > < td > Input hash context < / td > < / tr >
< tr > < td class = "paramdir" > [out]< / td > < td class = "paramname" > output< / td > < td > Output hash data < / td > < / tr >
< tr > < td class = "paramdir" > [in,out]< / td > < td class = "paramname" > outputSize< / td > < td > Optional parameter (can be passed as NULL). On function entry, it specifies the size of output[] buffer. On function return, it stores the number of updated output bytes. < / td > < / tr >
2022-04-08 14:42:47 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section return" > < dt > Returns< / dt > < dd > Status of the hash finish operation < / dd > < / dl >
2022-04-08 14:42:47 +00:00
< / div >
< / div >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- HTML footer for doxygen 1.8.5 -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul class = "foot" >
< li class = "footer" > © 2016 NXP Semiconductors. All rights reserved.
< / li >
< / ul >
< / div >
< / body >
< / html >