Validando uma senha usando Controle Remoto IR

Então pessoal, minha ideia é acionar um relé depois que o cara digitar a senha no controle remoto e a senha for validade, mas minha dúvida está em como fazer essa comparação.

Pensei em fazer um vetor com os números hexadecimais do controle e um vetor para receber os números que a pessoa for digitando no controle e depois comparar.

Alguém poderia me dar uma solução melhor ou me ajudar nessa que eu pensei?

Segue um trecho do código, que tá bem incompleto e sujo, mas é só para ter uma ideia.

#include <IRremote.h>
#include "LiquidCrystal.h"


LiquidCrystal lcd(9, 8, 5, 4, 3, 2); //Criando um objeto da classe LiquidCrystal e 
//inicializando com os pinos da interface.
int RECV_PIN = 11;
const int rele1 = 12;

IRrecv irrecv(RECV_PIN);

decode_results results;
//const int senha = 0xE12440BF + 0xE12428D7;



int senha [] = {0xE12440BF,0xE12428D7 };


void setup()
{

  lcd.begin(16, 2); //Inicializando o LCD e informando o tamanho de 16 colunas e 2 linhas
  //que é o tamanho do LCD JHD 162A usado neste projeto.
  pinMode (rele1, OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  int n1 = 0xE12440BF;

  
}

void loop() {

  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value

      if (results.value == 0xE12440BF){
      lcd.clear();          //limpa o display do LCD.     
      lcd.print("Inserir a senha :");  //imprime a string no display do LCD.
      delay(2000);    

       digitalWrite (rele1, HIGH);