ESP32-C3 에서 MAC 주소 추출 후 SHA-256 알고리즘으로 해싱하는 방법입니다.

 

사용한 SHA 해싱 라이브러리는 다음과 같습니다.

#include <Arduino.h>
#include <SHA2Builder.h>

void setup() {
  Serial.begin(115200);
  delay(500);

  // eFuse MAC 읽기 (칩 고유값)
  uint64_t chipid = ESP.getEfuseMac();
  uint8_t mac[6];
  char macStr[18];  // "AA:BB:CC:DD:EE:FF" + null = 18 bytes

  for (int i = 0; i < 6; i++) {
    mac[i] = (chipid >> (8 * (5 - i))) & 0xFF;
  }

  snprintf(macStr, sizeof(macStr), "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
  Serial.printf("Base MAC: %s\n", macStr);

  // Create SHA-256 (default hash size)
  SHA2Builder sha2_256;
  sha2_256.begin();
  sha2_256.add(macStr);
  sha2_256.calculate();
  String hash_256 = sha2_256.toString();
  Serial.println(hash_256);
}

void loop() {
  // 아무 동작 없음
}

'하드웨어 > MCU' 카테고리의 다른 글

ESP32 : ADC 성능 문제 & 샘플 캡처  (1) 2025.10.31
Raspberry Pi Pico Serial 장치 실패  (0) 2025.10.13
PIC12F675 : Microchip 8비트 PIC MCU  (0) 2025.09.21
ATmega16-16AI : Microchip 8비트 AVR MCU  (0) 2025.09.21
Espressif ESP32  (0) 2025.08.30

+ Recent posts