JavaScript chaîne de chiffrement et de déchiffrement?
Je suis intéressé par la construction d'une petite application pour une utilisation personnelle qui permettra de chiffrer et de déchiffrer des informations sur le côté client à l'aide de JavaScript. Les informations chiffrées seront stockées dans une base de données sur un serveur, mais jamais la version décryptée.
Il n'a pas à être super duper sûr, mais je voudrais utiliser un actuellement ininterrompue de l'algorithme.
Idéalement, j'aimerais être capable de faire quelque chose comme
var gibberish = encrypt(string, salt, key);
pour générer la chaîne codée, et quelque chose comme
var sensical = decrypt(gibberish, key);
à décoder plus tard.
Jusqu'à présent, j'ai vu ceci:
http://bitwiseshiftleft.github.io/sjcl/
Toutes les autres bibliothèques que je devrais regarder?
- Jetez un oeil à Javascript cryptage AES
- jsfiddle.net/kein1945/M9K2c
- La terminologie est ici hors, Voici une simple version 1. Les sels sont ajoutés à l'information (généralement des mots de passe) d'être haché. Leur but est de faire du hash différent de ce qu'il serait sans sel. C'est utile car elle permet de pré-généré de hachages si votre base de données s'il est piraté et le hachage des mots de passe utilisateur en sortir. 2. Le hachage est une opération qui se traduit par l'entrée en éléments de sortie. Il ne peut pas facilement être infirmée ou annulée. 3. L'encodage n'est pas le cryptage. base64_encode, urlencode, etc.
Vous devez vous connecter pour publier un commentaire.
JS:
HTML:
Secret passphrase
?Comment sur CryptoJS?
C'est une solide bibliothèque crypto, avec beaucoup de fonctionnalités. Il met en œuvre hashers, HMAC, PBKDF2 et les algorithmes. Dans ce cas, les algorithmes est ce que vous avez besoin. Découvrez le démarrage rapide quide sur la page d'accueil du projet.
Vous pourriez faire quelque chose comme avec l'AES:
De sécurité, au moment de l'écriture de mes algorithme AES est pensé pour être ininterrompue
Edit :
Semble URL en ligne est bas & vous pouvez utiliser les fichiers téléchargés pour le cryptage de donnée ci-dessous le lien & placer les différents fichiers dans votre dossier racine de l'application.
https://code.google.com/archive/p/crypto-js/downloads
ou utilisé d'autres CDN comme https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/aes-min.js
J'ai créé un texte simple de chiffrement/déchiffrer util. Pas de dépendances avec toute une bibliothèque externe.
Ce sont les fonctions
Et vous pouvez les utiliser comme suit:
Les navigateurs modernes prennent désormais en charge la
crypto.subtle
API, qui offre natif de chiffrement et de déchiffrement des fonctions (async pas moins!) l'aide de l'une de ces méthode: AES-CBC, AES-CTR, AES-GCM, ou RSA-OAEP..https://www.w3.org/TR/WebCryptoAPI/#dfn-Crypto
CryptoJS n'est plus supporté. Si vous souhaitez continuer à l'utiliser, vous pouvez passer à cette url:
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
Utilisation SimpleCrypto
À l'aide de encrypt() et decrypt()
Fonctions simples,