Hi All,
I am still looking for encryption of my data transmitted in 433MHZ .I am not looking for absolute security but just a tip so that my messages are not read and decrypted easily.
I found an XOR encryption that looks very easy to use, and ARDUINO can do it easily.
Now I want NODE RED to do it so that ARDUINO and RASPBERRY can communicate.
This is the ARDUINO code :
void setup() {
Serial.begin (9600);
char texte[] = "Ceci est une phrase lambda a coder";
int taille = strlen(texte);
Serial.println("1. Cryptage:");
codage_xor(texte, taille, "superclef"); //=> ALLER a la fct
Serial.println(texte);
Serial.println("wait...");
delay(2000);
Serial.println("2. Decryptage:");
Serial.println(codage_xor(texte, taille, "superclef"));
} // FIN DE SETUP
void loop() {
}//FIN de loop
//========================================================================
char * codage_xor(char * texte, int taille, char * cle) {
int c_cle = 0;
for (int c_txt = 0; c_txt < taille; c_txt++) { // pour toute la chaine
texte[c_txt] ^= cle[c_cle++]; // XOR du car. avec un car. de la clé
if (!cle[c_cle]) { // si on est au bout de la clé
c_cle = 0; // on boucle
}
}
return texte;
} // FIN de fonction
This is the same in NODE RED flow :
var message = "Ceci est une phrase lambda a coder";
var length = message.length;
var password= "superclef"; //
function codage_xor( texte, taille, cle) {
var c_cle = 0;
for (var c_txt = 0; c_txt < taille; c_txt++) { // pour toute la chaine
texte[c_txt] ^= cle[c_cle++]; // XOR du car. avec un car. de la clé
if (!cle[c_cle]) { // si on est au bout de la clé
c_cle = 0; // on boucle
}
}
return texte;
}
var texte = codage_xor(message, length, password);
msg.payload = texte;
return msg;
The message isn't crypted in the debug payload :
msg.payload : string[34]
"Ceci est une phrase lambda a coder"
Does someone help me to found my error in the Flow ?
Thanks
Christian