Bonjour, je voudrais pouvoir utiliser la commande du terminal (Je suis assez Novice) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "Ma phrase à crypter" | gpg -ca
En Javascript.

Cependant, dans cette méthode je n'utilise qu'une passphrase, et pas de clé.

J'ai trouvé cette librairie que j'ai tenté de comprendre et de faire fonctionner pendant 4h... La seule chose que j'ai réussi à faire fonctionner et qui se serait le plus rapproché c'est ceci :
Source : https://github.com/openpgpjs/openpgp...ith-a-password

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script src="openpgp.min.js"></script>
 
 
<script>
 
(async () => {
    const { message } = await openpgp.encrypt({
        message: openpgp.message.fromText("coucou"), // input as Message object
        passwords: ['secret stuff'],                                             // multiple passwords possible
        armor: false                                                             // don't ASCII armor (for Uint8Array output)
    });
    const encrypted = message.packets.write(); // get raw encrypted packets as Uint8Array
    console.log(message);
 
 
 
    const { data: decrypted } = await openpgp.decrypt({
        message: await openpgp.message.read(encrypted), // parse encrypted bytes
        passwords: ['secret stuff'],                    // decrypt with password
        format: 'text'                                // output as Uint8Array
    });
    console.log(decrypted); // Uint8Array([0x01, 0x01, 0x01])
})();
 
 
</script>

Je ne suis peut-être pas loin, j'ai tenté d'adapter la fonction qui encode un Uint8Array et j'ai mis du texte à la place... Cependant, quand je remplace armor:false par armor:true les methodes appelés message.packets.write() ne fonctionne plus... J'ai vraiment baissé les bras...


Je voudrais pouvoir crypter/décrypter en JS aussi simplement qu'avec GPG... Pouvez-vous m'aider ?
Merci.