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 |