当前位置: 首页 > news >正文

企业电子商务网站有哪些全网vip视频网站怎么做

企业电子商务网站有哪些,全网vip视频网站怎么做,中山精品网站建设机构,找国外客户的网站1、SHA256 介绍 SHA256 加速器是用来计算 SHA-256 的计算单元#xff0c; SHA256 是 SHA-2 下细分出的一种算法。 SHA-2 名称来自于安全散列算法 2 #xff08;英语#xff1a; Secure Hash Algorithm 2 #xff09;的缩写#xff0c;一种密码散列函 数算法标准…1、SHA256 介绍 SHA256 加速器是用来计算 SHA-256 的计算单元 SHA256 是 SHA-2 下细分出的一种算法。 SHA-2 名称来自于安全散列算法 2 英语 Secure Hash Algorithm 2 的缩写一种密码散列函 数算法标准由美国国家安全局研发由美国国家标准与技术研究院 NIST 在 2001 年发布。 属于 SHA 算法之一是 SHA-1 的后继者。其下又可再分为六个不同的算法标准包括了 SHA-224 、 SHA-256 、 SHA-384 、 SHA-512 、 SHA-512/224 、 SHA-512/256 。这些变体除了生成摘要的长度、循环运行的次数等一些细微差异之外基本结构是一致的。 简单来说对于任何长度的消息 SHA256 都会产生一个 256bit 长的哈希值。 Kendryte K210 内置 SHA256 安全散列算法加速器功能包括 1. 支持 SHA-256 的计算 2. 支持输入数据的 DMA 传输 Kendryte K210 官方 SDK 提供了 3 个操作 PWM 的函数这些函数介绍如下 sha256_init 函数 该函数主要用于初始化 SHA256 加速器外设该函数原型及参数描述如下所示 void sha256_init(sha256_context_t *context, size_t input_len); typedef struct _sha256_context {size_t total_len;size_t buffer_len;union{uint32_t words[16];uint8_t bytes[64];} buffer; } sha256_context_t; sha256_update 函数 该函数用于传入一个数据块参与 SHA256 Hash 计算如下代码所示 void sha256_update(sha256_context_t *context, const void *input, size_t input_len); 该函数有三个参数第一个参数为输入 SHA256 上下文对象第二个参数为待加入计算的 SHA256 计算的数据块第三个参数为对应数据块的长度。 sha256_final 函数 该函数用于结束对数据的 SHA256 Hash 计算如下代码所示 void sha256_final(sha256_context_t *context, uint8_t *output); 函数共有两个参数第一个参数为输入 SHA256 上下文对象第二个参数为存放 SHA256 计算的结果的 buffer 需保证传入这个 buffer 的大小为 32Bytes 以上。 sha256_hard_calculate 函数 该函数用于一次性对连续的数据计算它的 SHA256 Hash 如下代码所示 void sha256_hard_calculate(const uint8_t *input, size_t input_len, uint8_t *output); 该函数有三个参数第一、第二参数用于输入待 SHA256 计算的数据和数据的长度第三 个参数为存放 SHA256 计算的结果的 buffer 需保证传入这个 buffer 的大小为 32Bytes 以上。 2、源码案例 main.c 如下所示 uint8_t hash[SHA256_HASH_LEN]; uint8_t compare1[] {0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d, 0xae, 0x22, 0x23,0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10, 0xff, 0x61, 0xf2, 0x00, 0x15, 0xad}; uint8_t compare2[] {0x58, 0xbe, 0xb6, 0xbb, 0x9b, 0x80, 0xb2, 0x12, 0xc3, 0xdb, 0xc1, 0xc1, 0x02, 0x0c, 0x69, 0x6f,0xbf, 0xa3, 0xaa, 0xd8, 0xe8, 0xa4, 0xef, 0x4d, 0x38, 0x5e, 0x9b, 0x07, 0x32, 0xfc, 0x5d, 0x98}; uint8_t compare3[] {0x6e, 0x65, 0xda, 0xd1, 0x7a, 0xa2, 0x3e, 0x72, 0x79, 0x8d, 0x50, 0x33, 0xa1, 0xae, 0xe5, 0x9e,0xe3, 0x35, 0x2d, 0x3c, 0x49, 0x6c, 0x18, 0xfb, 0x71, 0xe3, 0xa5, 0x37, 0x22, 0x11, 0xfc, 0x6c}; uint8_t compare4[] {0xcd, 0xc7, 0x6e, 0x5c, 0x99, 0x14, 0xfb, 0x92, 0x81, 0xa1, 0xc7, 0xe2, 0x84, 0xd7, 0x3e, 0x67,0xf1, 0x80, 0x9a, 0x48, 0xa4, 0x97, 0x20, 0x0e, 0x04, 0x6d, 0x39, 0xcc, 0xc7, 0x11, 0x2c, 0xd0}; uint8_t data_buf[1000*1000]; int main(void) {uint64_t cycle;uint8_t total_check_tag 0;uint32_t i;printf(\n);cycle read_cycle();sha256_hard_calculate((uint8_t *)abc, 3, hash);for (i 0; i SHA256_HASH_LEN;){if (hash[i] ! compare1[i])total_check_tag 1;printf(%02x, hash[i]);if (!(i % 4))printf( );}printf(\n);sha256_hard_calculate((uint8_t *)abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij, 60, hash);for (i 0; i SHA256_HASH_LEN;){if (hash[i] ! compare2[i])total_check_tag 1;printf(%02x, hash[i]);if (!(i % 4))printf( );}printf(\n);sha256_hard_calculate((uint8_t *)abcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgha, 65, hash);for (i 0; i SHA256_HASH_LEN;){if (hash[i] ! compare3[i])total_check_tag 1;printf(%02x, hash[i]);if (!(i % 4))printf( );}printf(\n);memset(data_buf, a, sizeof(data_buf));sha256_hard_calculate(data_buf, sizeof(data_buf), hash);for (i 0; i SHA256_HASH_LEN;){if (hash[i] ! compare4[i])total_check_tag 1;printf(%02x, hash[i]);if (!(i % 4))printf( );}printf(\n);sha256_context_t context;sha256_init(context, sizeof(data_buf));sha256_update(context, data_buf, 1111);sha256_update(context, data_buf 1111, sizeof(data_buf) - 1111);sha256_final(context, hash);for (i 0; i SHA256_HASH_LEN;){if (hash[i] ! compare4[i])total_check_tag 1;printf(%02x, hash[i]);if (!(i % 4))printf( );}printf(\n);cycle read_cycle() - cycle;if (total_check_tag 1)printf(\nSHA256_TEST _TEST_FAIL_\n);elseprintf(\nSHA256_TEST _TEST_PASS_\n);printf(\nsha256 test time %ld ms\n, cycle/(sysctl_clock_get_freq(SYSCTL_CLOCK_CPU)/1000));while(1);return 0; }         可以看到mian 函数首先计算‘ abc ’的哈希值并将计算的值通过串口打印输出接着 计算字符串“ abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij ”的哈希值然后同样 将计算的值打印出来然后计算字符串“ abcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabc defghabcdefgha ”的哈希值并打印输出接着计算多个字符‘ a ’和分块计算多个字符‘ a ’的哈 希值然后通过串口打印输出。         至此该函数总共输出 5 个不同的消息经过 SHA256 算法计算后得到的、各为 32 字节长度 的哈希值。
http://www.pierceye.com/news/913782/

相关文章:

  • 网站设计大概价格设计网络平台的公司
  • phpcms中的网站介绍页中文去掉wordpress
  • 网站的建设心得怎么做网站淘宝转换工具
  • 做网站1天转多钱wordpress 分享插件
  • 淘宝网站建设单子好接吗朝阳区办公
  • html5网站建设平台怎么给网站添加图标
  • 中文域名网站网站制作wap页面
  • wordpress站内全文检索一个人完成网站建设
  • wordpress自定义重用结构北京seo怎么优化
  • 苏州做网站专业的公司vs2008怎么做网站
  • 效果好的徐州网站建设休闲食品网站建设策划书
  • 如何发布自己的网站wordpress 4.9.6 下载
  • 织梦网站打开慢企业咨询师资格证
  • 蓬莱网站建设哪家好广州白云网站建设
  • 网站建设得花多少钱做购物网站能否生存
  • 多语言网站 用什么cms深圳Wordpress网站
  • 常州市建设工程质量监督站网站开发公司设计管理岗位述职
  • 国外网站顶部菜单设计谷歌seo文章
  • 梅州网站开发外国自适应企业网站
  • 大型网站建设动力无限哪个公司的装饰设计公司
  • 网站建设与管理自考wordpress替换默认的编辑器
  • 企业在网站推广咸阳做网站开发公司
  • 从美洲开始做皇帝免费阅读网站wordpress嵌入优酷视频播放
  • 长沙 外贸网站建设国际足联世界排名
  • 辽宁省建设执业继续教育协会网站深圳网站制作建设服务公司
  • 个人网站备案都需要什么运营seo是什么意思
  • 局域网内部网站建设app下载苏州网络推广企业
  • 重庆美邦 网站建设保定最新消息发布
  • 东莞手机建网站旅游网站 分析
  • 网站seo优化技术入门做网站怎样实现网上支付