<strong id="lmxpx"></strong>
  • <small id="lmxpx"><span id="lmxpx"><p id="lmxpx"></p></span></small>
    <rp id="lmxpx"></rp>
    <progress id="lmxpx"><track id="lmxpx"></track></progress>

    1. <ol id="lmxpx"></ol>
      <rp id="lmxpx"><ruby id="lmxpx"></ruby></rp>
    2. <button id="lmxpx"><acronym id="lmxpx"></acronym></button>
    3. 打印

      [技術問答] 賽元單片機的UID在哪里?

      [復制鏈接]
      322|13
      跳轉到指定樓層
      樓主
      數據手冊上沒有,是不是賽元單片機沒這個功能?
      賽元單片機用什么加密?

      使用特權

      評論回復

      評論

      knk 2019-10-7 20:14 回復TA
      91/92/93的芯片可以燒錄滾動碼,最長可以支持32位,95的芯片有UID 
      沙發
      | 2019-9-29 13:57 | 只看該作者
      賽元MCU就沒有這個,我的辦法是產生4個隨機數,按這4個地址在CODE區里找到4個字節的數據作為UID,這樣也可以,跟自帶的UNIQUE ID效果一樣

      使用特權

      評論回復
      板凳
       樓主 | 2019-9-29 14:36 | 只看該作者
      taobaofarmer 發表于 2019-9-29 13:57
      賽元MCU就沒有這個,我的辦法是產生4個隨機數,按這4個地址在CODE區里找到4個字節的數據作為UID,這樣也可 ...

      請問你隨機數的種子是什么?

      使用特權

      評論回復
      地板
      | 2019-9-29 15:06 | 只看該作者
      不需要種子呀

      使用特權

      評論回復
      5
      | 2019-9-29 15:51 | 只看該作者
      賽元MCU,前256B禁止MOVC操作,可用于程序加密。加密方式可見92系列MCU應用指南,或工具使用手冊

      使用特權

      評論回復
      6
       樓主 | 2019-9-30 17:35 | 只看該作者

      不需要種子?用的什么高級方法,沒聽說過呀?

      使用特權

      評論回復
      7
      | 2019-10-2 20:41 | 只看該作者
      就用標準C函數產生一個隨機數,還需要什么種子?

      使用特權

      評論回復
      8
       樓主 | 2019-10-2 23:22 | 只看該作者
      算了,看來你根本不知道這回事。
      rand()會返回一隨機數值,范圍在0至RAND_MAX 間。在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。關于隨機數種子請參考srand()。

      使用特權

      評論回復
      9
      | 2019-10-7 13:55 | 只看該作者
      樓上高人,今天我又學習了,搞了22年嵌入式開發今天終于又被學習了一回,RAND()之前確實沒用過,也沒啥用,所以一直沒去了解它,剛剛百度了下SRAND(),確實有種子這回事兒,我之前的架構是在上位機軟件里下發4個隨機數給MCU,然后MCU把這4個隨機數作為指針指向CODE區里相應位置的數據返回給上位機軟件,作為MCU的UNIQUE ID,然后進行加密算法亂七八糟的一頓計算,現在看來還真得修改下上位機軟件,每次rand()之前重新設置下種子,百度上介紹的經驗是取當時的時間,這個方法不錯,我就準備這么做了

      使用特權

      評論回復
      10
       樓主 | 2019-10-7 20:52 | 只看該作者
      taobaofarmer 發表于 2019-10-7 13:55
      樓上高人,今天我又學習了,搞了22年嵌入式開發今天終于又被學習了一回,RAND()之前確實沒用過,也沒啥用, ...

      不是什么高人,C語言課本里好像就有介紹,估計你是時間長不用,所以忘了。
      對于隨機數我記得rand這類函數都是通過線性同余法得到偽隨機數,一般種子可以選
      1、時間,如定時器值
      2、AD采集溫度或電源噪聲
      3、UID
      4、搭建硬件電路產生種子

      種子是隨機數的重點。
      也有單片機自帶隨機數發生器的,那就比較方便了,比如STM32F4自帶了硬件隨機數發生器(RNG)!

      使用特權

      評論回復
      11
      | 2019-10-12 13:46 | 只看該作者
      仔細研究了下種子的問題,確實是重中之重,一頓折騰之后我在VC++6.0里實現如下:
              BYTE  m;
              WORD  i, crc16;
              DWORD rand_data[4], dwBuf0, dwBuf1, dwBuf2;

              SYSTEMTIME sysTime;
              GetLocalTime(&sysTime);

              i = sysTime.wYear      +
                      sysTime.wMonth     +
                      sysTime.wDay       +
                      sysTime.wDayOfWeek +
                      sysTime.wHour      +
                      sysTime.wMinute    +
                      sysTime.wSecond    +
                      sysTime.wMilliseconds;
             
              dwBuf0   = ~i;
              dwBuf0 <<= 16;
              dwBuf0  += i;

              for(m=0; m<4; m++)
              {
                      //循環右移5位后的數據作為下一個隨機數的種子
                      dwBuf1  = dwBuf0 << 27;
                      dwBuf1 &= 0xfe000000;

                      dwBuf2  = dwBuf0 >> 5;
                      dwBuf2 &= 0x01ffffff;

                      dwBuf0  = dwBuf1 + dwBuf2;
                     
                      dwBuf0  = ~dwBuf0;
                      dwBuf0 ^=  0xxxxxxxxx;
             
                      srand(dwBuf0);
                      rand_data[m] = rand();
              }
      你覺得這個效果如何?

      使用特權

      評論回復
      12
       樓主 | 2019-10-12 17:15 | 只看該作者
      taobaofarmer 發表于 2019-10-12 13:46
      仔細研究了下種子的問題,確實是重中之重,一頓折騰之后我在VC++6.0里實現如下:
              BYTE  m;
              WORD   ...

      如果實在電腦上,種子用時間CRC校驗值做種子最方便,如果是單片機你這種移位處理是最常用的

      使用特權

      評論回復
      13
      | 2019-10-17 18:07 | 只看該作者
      常用的CRC算法有哪些

      使用特權

      評論回復
      掃描二維碼,隨時隨地手機跟帖
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規則

      我要發帖 投訴建議 創建版塊 申請版主

      快速回復

      您需要登錄后才可以回帖
      登錄 | 注冊
      高級模式

      論壇熱帖

      在線客服 快速回復 返回頂部 返回列表
      成人短片线上看