您的位置 首页 软件

STM32F4 ID简略加密

产品唯一的身份标识非常适合:●用来作为序列号(例如USB字符序列号或者其他的终端应用)●用来作为密码,在编写闪存时,将此唯一标识与

产品仅有的身份标识十分合适:

● 用来作为序列号(例如USB字符序列号或许其他的终端运用)
● 用来作为暗码,在编写闪存时,将此仅有标识与软件加解密算法结合运用,进步代码在闪存存储器内的安全性。
● 用来激活带安全机制的自举进程
96位的产品仅有身份标识所供给的参阅号码对恣意一个STM32微控制器,在任何情况下都是仅有的。用户在何种情况下,都不能修正这个身份标识。
这个96位的产品仅有身份标识,依照用户不同的用法,能够以字节(8位)为单位读取,也能够以半字(16位)或许全字(32位)读取。
基地址:0x1FFF 7A10 ——stm32f4xx对应的,本文章根据F4的地址

(基地址:0x1FFF F7E8 ——stm32f1xx对应的)

每个CPU 出厂的时分都
装备的一个ID,96 位的.这个仅有码能够利用作软件加密…….

static u32 CpuID[3];
static u32 Lock_Code;

void GetLockCode(void)
{
//获取CPU仅有ID
CpuID[0]=*(vu32*)(0x1fff7a10);
CpuID[1]=*(vu32*)(0x1fff7a14);
CpuID[2]=*(vu32*)(0x1fff7a18);
//加密算法,很简单的加密算法
Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
}

然后再用前次所用的 FLASH_ProgramWord(LOCK_ADDR,Lock_Code); 写到FLASH 的某个旮旯就好了,然后再在程序中验证这个值是否正确。感觉ID的调取很是便利却是加密算法让人头痛,当然了要是把MD5移植过来应该不是太难。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/258376.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部