Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 168
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

RC4 Verschlüsselung


Autor: Gast
Sprache: C#
Bewertung: 9
(1 Bewertung)
Anzahl der Aufrufe: 14947
  
Kick it on dotnet-kicks.de  

Beschreibung:

RC4 ist ein einfacher aber sicherer Verschlüsselungsalgorithmus. Weitere Details findest man bei Wikipedia:

http://de.wikipedia.org/wiki/Rc4

Beispielaufruf:

Byte[] Key = { 25, 64, 1, 45, 54, 45 };
Byte[] Content = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Byte Array verschlüsseln
RC4(ref Content, Key);

// Byte Array entschlüsseln
RC4(ref Content, Key);


Abgelegt unter: Verschlüsselung, Security, encrypt, decrypt, Kryptographie, RC4.



C#
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
public void RC4(ref Byte[] bytes, Byte[] key)
{
    Byte[] s = new Byte[256];
    Byte[] k = new Byte[256];
    Byte temp;
    int i, j;

    for (i = 0; i < 256; i++)
    {
        s[i] = (Byte)i;
        k[i] = key[i % key.GetLength(0)];
    }

    j = 0;
    for (i = 0; i < 256; i++)
    {
        j = (j + s[i] + k[i]) % 256;
        temp = s[i];
        s[i] = s[j];
        s[j] = temp;
    }

    i = j = 0;
    for (int x = 0; x < bytes.GetLength(0); x++)
    {
        i = (i + 1) % 256;
        j = (j + s[i]) % 256;
        temp = s[i];
        s[i] = s[j];
        s[j] = temp;
        int t = (s[i] + s[j]) % 256;
        bytes[x] ^= s[t];
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Jan Welker schrieb am:  20.07.2007 21:32:51

Super!
Soweit ich weis ist RC4 nicht im .NET Framework 2.0 enthalten.
Methoden die byte[] in string wandeln (und zurück)sind ja hier auch zu finden um dann mit dieser Methode strings zu verschlüsseln.
Kalle schrieb am:  14.03.2010 18:40:31

Hallo, versuche jetz seit einer Stunde diese Funktion zum Laufen zu bringen.
Leider funktioniert es nicht ...
T = (s(i) + s(j)) Mod 256

Hier tritt bei mir der Fehler :"Die arithmetische Operation hat einen Überlauf verursacht." auf.
Wieso?
Hilfe ^^


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.