Mithilfe von AES-Verschlüsselung in C#
Ich kann nicht scheinen zu finden ein schönes, sauberes Beispiel für die Verwendung von 128-bit-AES-Verschlüsselung.
Hat jemand etwas Beispielcode?
Ziemlich guter Artikel dazu finden Sie hier: codeproject.com/Articles/769741/...
InformationsquelleAutor | 2008-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nur wollen, verwenden Sie die integrierte crypto-provider RijndaelManaged, schauen Sie sich die folgenden Hilfe-Artikel (es hat auch ein einfaches code-Beispiel):
Und nur für den Fall, müssen Sie die Probe in Eile, hier ist es in all seinen abgekupfert Herrlichkeit:
Für zukünftige Leser: ich habe aktualisiert code-Beispiel hier der aktualisierte code aus dem Beispiel auf der MSDN-Website
Auch: vergessen Sie nicht, dass Sie am ehesten gefährlich schlecht in der Kryptographie. happybearsoftware.com/...
Sicher, dort gehen Sie. msdn.microsoft.com/de-de/library/... werfen Sie einen Blick auf Anmerkungen. Sie können rijndael-aber es könnte dazu führen, Kompatibilitätsprobleme, wenn Sie channge Einstellungen. Deshalb würde ich die Verwendung der Aes-Klasse, wenn Sie möchten, verschlüsseln mit AES(FIPS-197)
Die
using ()
block automatisch entsorgt, die myRijndael Objekt (und jeder andere RijndaelManaged-Objekt in diesem Beispiel). Vielleicht ist Ihr Kommentar wurde für eine frühere version der Antwort oder den link zeigten schlechte Beispiele, aber das ist nicht der Fall heute.InformationsquelleAutor Dan Esparza
Hab ich vor kurzem hatte, um bump up gegen dieser wieder in mein eigenes Projekt - und wollte das etwas einfacher code, den ich benutzt habe, als diese Frage, und eine Reihe von Antworten, die immer wieder in meine sucht.
Ich werde nicht zu bekommen in die Sicherheitsbedenken hinsichtlich, wie oft aktualisieren Sie Dinge wie Ihre Salz und Initialisierungsvektor - das ist ein Thema für ein security-forum, und es gibt einige große Ressourcen gibt, zu betrachten. Das ist einfach ein block von code zu implementieren
AesManaged
in C#.Code ist sehr einfach zu bedienen. Es ist buchstäblich nur Folgendes benötigt:
Standardmäßig die Implementierung verwendet AesManaged - aber Sie könnten eigentlich auch einfügen, alle anderen
SymmetricAlgorithm
. Eine Liste der verfügbarenSymmetricAlgorithm
Erben .NET 4.5 finden Sie unter:http://msdn.microsoft.com/en-us/library/system.security.cryptography.symmetricalgorithm.aspx
Ab dem Zeitpunkt von diesem post, die aktuelle Liste umfasst:
AesManaged
RijndaelManaged
DESCryptoServiceProvider
RC2CryptoServiceProvider
TripleDESCryptoServiceProvider
Verwenden
RijndaelManaged
mit dem code von oben, als ein Beispiel, verwenden Sie:Ich hoffe, dies ist hilfreich, um jemand da draußen.
haben Sie die entsprechende code in java ?
Ich fürchte nicht, @DeveloperX. Der code basiert auf der .NET-Kryptografie-Bibliotheken, also meine Vermutung ist, dass entweder Sie würde finden müssen, um eine entsprechende Reihe von Bibliotheken in Java, oder Rollen Sie Ihre eigenen. 🙁
Dein code ist falsch, Entschlüsseln, verändern "valuebytes" Zeile auf den folgenden: ` byte[] valueBytes = Konvertieren.FromBase64String(Wert);` . Der Grund für dieses ist, weil in Verschlüsseln Sie umgewandelt ToBase64 so, jetzt müssen Sie ConvertFromBase64String in Entschlüsseln, sonst bekommt man ungültige Länge Fehler.
Aktualisierung IV ist alle - Meldung, keine Diskussion, einfach nur, wie die Verwendung von AES-CBC -, diese Antwort ist einfach nur falsch.
InformationsquelleAutor Troy Alford
Blick auf Probe hier..
http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged(v=VS.100).aspx#Y2262
Beispiel auf der MSDN läuft nicht normal (Fehler tritt auf), weil es keine Initiale Wert von Initialisierungs-Vektor(iv) und Schlüssel. Ich füge 2 Zeilen code, und jetzt arbeiten normalerweise.
Mehr details siehe unten:
Sie können ändern, AES-Modus mit den sich ändernden diese Zeile code rijAlg.Modus = CipherMode.CBC; Eg rijAlg.Modus = CipherMode.CFB; oder rijAlg.Modus = CipherMode.EZB, Schau mal [link] inconteam.com/software-development/41-encryption/..., wenn Sie möchten, testen Sie die AES, ob es normal funktioniert oder nicht.
InformationsquelleAutor Javanese Girl
Mittels AES oder die Umsetzung von AES? AES zu verwenden, es ist das System.Sicherheit.Die Kryptographie.RijndaelManaged-Klasse.
InformationsquelleAutor DCNYAM
Für ein vollständigeres Beispiel, führt Schlüssel-Ableitung neben der AES-Verschlüsselung, finden Sie die Antwort und links gepostet in Erste AES-Verschlüsselung zu arbeiten in Javascript und C#.
BEARBEITEN
eine Randnotiz: Javascript Kryptographie als schädlich. Wert gelesen.
InformationsquelleAutor Cheeso
Hallo! Irgendein besonderer Grund für die Verwendung PKCS7-Polsterung über den anderen Entscheidungen? Von was ich gelesen habe ist es schlechter als OAEP-padding, die aus irgendeinem Grund nicht verfügbar für AES. Ist PKCS7-sicherer AES als in RSA?
InformationsquelleAutor siddharth
http://www.codeproject.com/Articles/769741/Csharp-AES-bits-Encryption-Library-with-Salt
InformationsquelleAutor ARTAGE
Versuchen, diesen code, vielleicht nützlich.
1.Erstellen von Neuen C# - Projekt, und fügen Sie folgt code zu Form1 hinzu:
2.Erstellen clsCrypto.cs und kopieren-einfügen, folgt code in Ihre Klasse und führen Sie den code. Ich verwendete MD5 generiert Initialisierungs-Vektor(IV) SCHLÜSSEL der AES.
InformationsquelleAutor YD4
Können Sie das Passwort aus Textfeld wie Schlüssel...
Mit diesem code können Sie verschlüsseln/entschlüsseln von text, Bild, word-Dokument, pdf....
Konvertieren Passwort aus Textfeld byte-array...
Dein IV sollte zufällig sein und gespeichert, zusammen mit dem cypher-text (aber nicht verschlüsselt).
InformationsquelleAutor 0xEE00
hier ein gepflegten und sauberen code zu verstehen, AES-256-Algorithmus in C# implementiert
rufen Sie Verschlüsseln Funktion als
encryptedstring = cryptObj.Encrypt(username, "AGARAMUDHALA", "EZHUTHELLAM", "SHA1", 3, "@1B2c3D4e5F6g7H8", 256);
warum ist die Klasse nicht statisch ist?
InformationsquelleAutor Zeeshan Amber