feat: switch to hex code

This commit is contained in:
httpjamesm 2023-11-15 22:48:05 -05:00
parent caf7dc77ae
commit 92a29ec096
No known key found for this signature in database

View file

@ -25,28 +25,29 @@ const colourPool = [
export default function PairingMode() { export default function PairingMode() {
// Function to generate cryptographically secure data // Function to generate cryptographically secure data
function generateSecureData(length: number): Uint8Array { const generateSecureData = (length: number): Uint8Array => {
const array = new Uint8Array(length); const array = new Uint8Array(length);
window.crypto.getRandomValues(array); window.crypto.getRandomValues(array);
// Modulo operation to ensure each byte is a single digit // Modulo operation to ensure each byte is a single hex digit
for (let i = 0; i < length; i++) { for (let i = 0; i < length; i++) {
array[i] = array[i] % 10; array[i] = array[i] % 16;
} }
return array; return array;
} };
// Function to convert data into digits
function convertDataToDigits(data: Uint8Array): string { const convertDataToHex = (data: Uint8Array): string => {
let result = ''; let hex = '';
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
result += data[i].toString(); hex += data[i].toString(16).padStart(2, '0');
} }
return result; return hex;
} };
const [digits, setDigits] = useState<string[]>([]); const [digits, setDigits] = useState<string[]>([]);
useEffect(() => { useEffect(() => {
setDigits(convertDataToDigits(generateSecureData(10)).split('')); const data = generateSecureData(4);
setDigits(convertDataToHex(data).split(''));
}, []); }, []);
return ( return (