Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Verschlüsselung zwischen PHP und C#
Andybritten
myCSharp.de - Member



Dabei seit:
Beiträge: 99

Themenstarter:

Verschlüsselung zwischen PHP und C#

beantworten | zitieren | melden

Hallo!

Ich habe mir ein Porgramm geschrieben welches mit einer PHP Datei kommuniziert.
Jedoch möchte ich den POST Befehl der von dem C# Programm ausgeht verschlüsseln und später in PHP entschlüsseln und umgekehrt.
Bin jetzt seit gut einem Tag auf der Suche nach einer Verschlüsselung die funktioniert... Sowohl in PHP als auch in C#.
Habe schon viele Beispiele gefunden gehabt aber leider kann ich in PHP nicht auf diese MCRYPT Libraray zugreifen/sie installieren.
Hat jemand von euch einen Verschlüsselungsalgorithmus der einfach nur einen String verschlüsselt (mit Passwort) und wieder entschlüsselt (PHP/C#)?
Das wär echt super :)

Danke schonmal im Vorraus!
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Warum machst du das ganze nicht per SSL?
private Nachricht | Beiträge des Benutzers
Andybritten
myCSharp.de - Member



Dabei seit:
Beiträge: 99

Themenstarter:

beantworten | zitieren | melden

Hast du ein Beispiel dafür?
Finde leider nichts anständiges bei der Suche nach "C# PHP POST request mit SSL".
private Nachricht | Beiträge des Benutzers
der-schlingel
myCSharp.de - Member

Avatar #avatar-3239.jpg


Dabei seit:
Beiträge: 820
Herkunft: Österreich/Wien

beantworten | zitieren | melden

Zitat
C# PHP POST request mit SSL
Nein, damit ist gemeint, dass der Webserver auf dem PHP läuft die Website per HTTPS anbietet.

Ich glaube, dann ist sogar kein zusätzlicher Mehraufwand mehr nötig, jedenfalls bei der C#-Anwendung. Das kann das Framework fast gänzlich alleine.

Wenn du selbst verschlüsseln willst wird es etwas haariger da ein halbwegs sicherer Algorithmus das Jounglieren mit sehr großen Zahlen bedeutet. Wenn es in deiner Hand liegt, ist die HTTPS-Lösung besser.

Falls du dieses MCRYPT verwenden willst und es noch nicht da ist, wäre Installieren eine Idee .

Wenn du einen gratis Server verwendest und überhaupt keine Möglichkeit hast die Serverkonfiguration zu ändern, wäre es interessant wie sicher die Verschlüsselung sein soll.
As a man thinketh in his heart, so he is.
- Jun Fan
Es gibt nichts Gutes, außer man tut es.
- Erich Kästner
Krawutzi-Kaputzi
- Kasperl
private Nachricht | Beiträge des Benutzers
Andybritten
myCSharp.de - Member



Dabei seit:
Beiträge: 99

Themenstarter:

beantworten | zitieren | melden

Ich hab leider nur shared Webspace.
Hab da leider keinen Zugriff auf den Webserver!
Wenn das Tool einen POST reuqest sendet und HTTPS auf der Webseite aktiv ist wird der POST Befehl und dessen Inhalt automatisch verschlüsselt gesendet?
Das wär echt stark. Ausser ich hab was falsch verstanden.

Die Verschlüsselung muss keines Falls stark sein.
Base64 kam mir auch schon in den Kopf. Leicht zu nutzen, klappt auf PHP und C# Seite ohne Probleme.
Nur das ist keine Verschlüsselung noch ist das Ding sicher :D
Aber mir würde schon was so leichtes wie Base64 reichen wenn mans mit Passwort verschlüsseln könnte.
Vielleicht hat ja wer eine Idee.
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

Wenn du kein Crypt Modul in PHP hast kannst du als einfach zu implementierende Verschlüsselung ein xor über deine Daten legen und anschließend nach base64 convertieren (Zur Übertragung)

Gibt es auch fertig hier
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15980

beantworten | zitieren | melden

Ich habe bei manchen Formularen zum Schutze der Manipulation einen Hash als versteckten Input-Wert. Der Hash ist aber nichts anderes als ein mit Hilfe von Rijndael verschlüsselter Pfad.

Die Basis hierfür ist zB Encrypt and Decrypt Strings
Das müsste mit PHP und C# klappen.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

Dann kann man auch gleich die Daten mit Rijndael verschlüsseln wenn die nicht leserlich sein sollen. Ansonsten ist es eher eine Signatur aber genau so effektiv gegen Veränderung.

Xor hat ein großes Problem: Wenn man den Klartext kennt, kann man beliebige Stellen gezielt Manipulieren.

Was die Sicherheit im allgemeinen an geht: Bei synchroner Verschlüsselung wirst du immer den Schlüssel aus dem C# Programm ziehen können. Spätestens zur Laufzeit steht der im Speicher.
Ich habe mich daher mal für eine Asynchrone Verschlüsselung entschieden, da hilft es nicht den (Public) Key im Client nur zu kennen, man müsste ihn auch ändern um z.B. mit einem eigenen Proxy kommunizieren zu können. Dafür ist aber das Crpyto Modul notwendig. Wenn du das hast kann ich dir Quellcode dazu schicken.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15980

beantworten | zitieren | melden

Zitat von Tarion
Dann kann man auch gleich die Daten mit Rijndael verschlüsseln wenn die nicht leserlich sein sollen. Ansonsten ist es eher eine Signatur aber genau so effektiv gegen Veränderung.

Kommt immer auf die Situation an.
In meinem Fall serialisiert mein MVC Controller automatisch das Objekt, der Hash ist hier nur eine Überprüfung, ob sich gewisse Werte (ID....) auch nicht geändert haben, zB mit Hilfe von Firebug und Co.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Andybritten
myCSharp.de - Member



Dabei seit:
Beiträge: 99

Themenstarter:

beantworten | zitieren | melden

Danke für die Antworten :)
Wäre sehr cool wenn du mir den Code von die mal schicken könntest :)
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

Das ist alles noch im Projekt verflochten und ist damit nicht direkt compilierbar. Der PHP Teil ist sehr klein und wurde bisher nur für tests benutzt.
Du musst dir natürlich selbst *.pem files generieren.

Ziel war es ein ganzes Lizenzsystem zu implementieren, wurde aber aus Zeitgründen noch nicht vollendet. Daher kann ich auch kaum Support zu dem Code anbieten, ich hoffe der hilft dennoch. Die ein oder andere Funktion könnte bestimmt hilfreich sein.

Gruß, Tarion
Attachments
private Nachricht | Beiträge des Benutzers
Andybritten
myCSharp.de - Member



Dabei seit:
Beiträge: 99

Themenstarter:

beantworten | zitieren | melden

Dickes Danke!
Ich werds mir auf jeden Fall anschauen :)
private Nachricht | Beiträge des Benutzers