import styles from "./styles.module.css"; const RADIUSProtocols = [ "PAP", "CHAP", "Digest", "MS-CHAP", "PEAP", "MS-CHAPv2", "Cisco LEAP", "EAP-GTC", "EAP-MD5", "EAP-PWD", ] as const satisfies string[]; type RADIUSProtocol = (typeof RADIUSProtocols)[number]; const HashKinds = [ "Cleartext", "NT", "MD5", "Salted MD5", "SHA1", "Salted SHA1", "Unix Crypt", ] as const satisfies string[]; type HashKind = (typeof HashKinds)[number]; const supportMatrix: Record = { "Cleartext": [ "PAP", "CHAP", "Digest", "MS-CHAP", "PEAP", "MS-CHAPv2", "Cisco LEAP", "EAP-GTC", "EAP-MD5", "EAP-PWD", ], "NT": ["PAP", "MS-CHAP", "PEAP", "MS-CHAPv2", "Cisco LEAP", "EAP-GTC"], "MD5": ["PAP", "EAP-GTC"], "Salted MD5": ["PAP", "EAP-GTC"], "SHA1": ["PAP", "EAP-GTC"], "Salted SHA1": ["PAP", "EAP-GTC", "EAP-PWD"], "Unix Crypt": ["PAP", "EAP-GTC", "EAP-PWD"], }; export const HashSupport: React.FC = () => { return ( {HashKinds.map((hashKind, i) => ( ))} {RADIUSProtocols.map((radiusProtocol, i) => ( {HashKinds.map((hashKind) => { const protocols = supportMatrix[hashKind]; const supported = protocols.includes(radiusProtocol); return ( ); })} ))}
{hashKind}
{radiusProtocol} {supported ? "✓" : "✗"}
); };