Bonjour,
Est ce quelqu'un a un exemple de code pour créer une valeur en base de registre et encrypter la valeur ?
Merci à vous
Bonjour,
Est ce quelqu'un a un exemple de code pour créer une valeur en base de registre et encrypter la valeur ?
Merci à vous
Tu peux utiliser la classe RegistryKey.
Pour chiffrer ca dépend de l'algo que tu souhaites utiliser.
A noter que tu peux aussi utiliser des ACL dans la base de registre. Seul l'utilisateur qui a écrit dedans est donc capable de relire l'information (ou un admin). C'est une solution avantageuse par rapport à l'encryption :
- aucune encrytpion n'est véritable sûre
- généralement, on souhaite crypter pour qu'un second utilisateur n'accède pas à l'information, ce que font déjà les ACL, de façon propre
On ne jouit bien que de ce qu’on partage.
Bonjour,
Auriez vous un exemple utilisant les ACL ?
Merci à vous
bonjour,
j'ai à présent l'extrait de code qui suit et qui fonctionne :
Reste à encrypter la valeur ... est ce possible ?
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 /// <summary> /// Fonction qui écrit le mot de passe dans la base de registre windows /// </summary> /// <param name="sPassWord"></param> private void WriteValue(string regKey, string regKeyValue, string regValue) { RegistryKey Nkey = Registry.CurrentUser; try { RegistryKey valKey = Nkey.OpenSubKey("Software\\monAppli\\" + regKey, true); if (valKey == null) { valKey = Nkey.CreateSubKey("Software\\monAppli\\" + regKey); } valKey.SetValue(regKeyValue, regValue); } catch (Exception er) { MessageBox.Show(er.Message, "monAppli", MessageBoxButtons.OK, MessageBoxIcon.Stop); } finally { Nkey.Close(); } }
http://stackoverflow.com/questions/8...my-application
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var cypherText = "Some string to encrypt".ToSecureString().EncryptString(); var clearText = cypherText.DecryptString().ToInsecureString();
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Security; using System.Security.Cryptography; using System.Text; public static class SecureIt { private static readonly byte[] entropy = Encoding.Unicode.GetBytes("Salt Is Not A Password"); public static string EncryptString(this SecureString input) { if (input == null) { return null; } var encryptedData = ProtectedData.Protect( Encoding.Unicode.GetBytes(input.ToInsecureString()), entropy, DataProtectionScope.CurrentUser); return Convert.ToBase64String(encryptedData); } public static SecureString DecryptString(this string encryptedData) { if (encryptedData == null) { return null; } try { var decryptedData = ProtectedData.Unprotect( Convert.FromBase64String(encryptedData), entropy, DataProtectionScope.CurrentUser); return Encoding.Unicode.GetString(decryptedData).ToSecureString(); } catch { return new SecureString(); } } public static SecureString ToSecureString(this IEnumerable<char> input) { if (input == null) { return null; } var secure = new SecureString(); foreach (var c in input) { secure.AppendChar(c); } secure.MakeReadOnly(); return secure; } public static string ToInsecureString(this SecureString input) { if (input == null) { return null; } var ptr = Marshal.SecureStringToBSTR(input); try { return Marshal.PtrToStringBSTR(ptr); } finally { Marshal.ZeroFreeBSTR(ptr); } } }
Merci je vois cela ....
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager