新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32的唯一ID編碼

        stm32的唯一ID編碼

        作者: 時間:2016-12-03 來源:網絡 收藏
        產品唯一的身份標識非常適合:

        ● 用來作為序列號(例如USB字符序列號或者其他的終端應用)
        ● 用來作為密碼,在編寫閃存時,將此唯一標識與軟件加解密算法結合使用,提高代碼在閃存存儲器內的安全性。
        ● 用來激活帶安全機制的自舉過程
        96位的產品唯一身份標識所提供的參考號碼對任意一個STM32微控制器,在任何情況下都是唯一的。用戶在何種情況下,都不能修改這個身份標識。
        這個96位的產品唯一身份標識,按照用戶不同的用法,可以以字節(8位)為單位讀取,也可以以半字(16位)或者全字(32位)讀取。
        基地址:0x1FFF F7E8

        本文引用地址:http://www.104case.com/article/201612/325214.htm

        每個CPU 出廠的時候都
        配置的一個ID,96 位的.這個唯一碼可以利用作軟件加密.......

        staticu32 CpuID[3];
        staticu32 Lock_Code;

        void GetLockCode(void)
        {
        //獲取CPU唯一ID
        CpuID[0]=*(vu32*)(0x1ffff7e8);
        CpuID[1]=*(vu32*)(0x1ffff7ec);
        CpuID[2]=*(vu32*)(0x1ffff7f0);
        //加密算法,很簡單的加密算法
        Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
        }

        然后再用上次所用的 FLASH_ProgramWord(LOCK_ADDR,Lock_Code); 寫到FLASH 的某個角落就好了,然后再在程序中驗證這個值是否正確。感覺ID的調取很是方便倒是加密算法讓人頭痛,當然了要是把MD5移植過來應該不是太難。現在市場中這么多的廉價J-link還不是中國牛人xxx.



        關鍵詞: stm32ID編

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 芒康县| 潞西市| 饶河县| 梅州市| 普宁市| 哈巴河县| 正宁县| 明水县| 张家界市| 左贡县| 昌江| 焉耆| 九龙城区| 平阴县| 分宜县| 偃师市| 常宁市| 梁河县| 封开县| 肥西县| 曲沃县| 日土县| 大余县| 读书| 长顺县| 泰安市| 崇礼县| 万州区| 卓资县| 辰溪县| 清涧县| 肥乡县| 孝昌县| 榕江县| 玛纳斯县| 镇赉县| 黄浦区| 刚察县| 卢龙县| 故城县| 榆社县|