Passwort mit Java verschlüsseln und mit PHP entschlüsseln?

4 Antworten

Verschlüsselung ist erst mal unabhängig von der verwendeten Programmiersprache. Wenn du das möchtest, dann such dir eine bekannte Bibliothek die das für dich erledigt, und lies sehr genau, wie die benutzt werden muss. Falsch benutzte oder falsch implementierte Verschlüsselung ist schlimmer als gar keine Verschlüsselung.

Woher ich das weiß:Berufserfahrung

Natürlich. Du musst halt das gleiche Verschlüsselungsverfahren benutzen.

BlitzLP 
Fragesteller
 21.04.2020, 09:00

Könnten sie mir vielleicht ein Beispiel senden ich habe mich mit diesem Thema noch nie befasst

0
triopasi  21.04.2020, 09:02
@BlitzLP

Wenn du es programmieren willst, dann solltest du dich damit befassen.

Es gibt ganz viele Verschlüsselungsverfahren. Einige davon solltest du in PHP/Java als Bibliothek zur Verfügung haben.

1
Ist es möglich ein Passwort mit Java zu verschlüsseln und anschließend mit PHP wieder zu entschlüsseln?

Nein.

Bzw. hängt das davon ab, was Du unter "Verschlüsselung" und "Entschlüsselung" verstehst. Ein guter Verschlüsselungsalgorithmus ist unumkehrbar. Er macht zum Beispiel - egal in welcher Programmiersprache - aus dem Wort geheim diese Zeichenfolge:

$1$_HqBPftS$s/8XsYg7RpXn1QmcB3Kq9.

Diese Zeichenfolge lässt sich aber mit keiner Programmiersprache so entschlüsseln, dass daraus wieder das Wort geheim wird.

Men man aber weiß, dass eine Verschlüsselungsmthode namens md5 zur Verschlüsselung verwendet wurde, kann man z. B. in Java das Wort geheim mit der Methode md5 verschlüsseln und in PHP das Wort geheim ebenfalls mit der Methode md5 verschlüsseln - und dann überprüfen, ob dasselbe dabei rauskam.

Alex

showgirl1  21.04.2020, 09:43

Wie wir dir denn diese Seite hier angezeigt??? Die wurde Veschlüsslet (https) übertragen. Nach deiner Theorie ist diese Transferverschlüsselung unumkehrbar.

0
EinAlexander  21.04.2020, 09:50
@showgirl1
Wie wir dir denn diese Seite hier angezeigt??? Die wurde Veschlüsslet (https) übertragen. Nach deiner Theorie ist diese Transferverschlüsselung unumkehrbar.

Richtig. Die Verschlüsselung ist - wie z. B. auch bei bei PGP Verschlüsselung - ohne passenden Schlüssel tatsächlich unumkehrbar. Wäre sie umkehrbar, das heißt gäbe es einen Algorithmus zum Entschlüsseln, wäre die ganze Verschlüssleung nutzlos.

1
Lamanini  14.10.2020, 02:20

Du verwechselst da was mit Hashing.

0
EinAlexander  14.10.2020, 06:46
@Lamanini
Du verwechselst da was mit Hashing.

Heißt das, es ist möglich, ein Passwort mit Java zu verschlüsseln und anschließend mit PHP wieder zu entschlüsseln?

0
Lamanini  14.10.2020, 13:57
@EinAlexander

Indem man den Verschlüsselungsalgorithmus in Java implementiert, und den Entschlüsselungsalgorithmus in PHP.

0
EinAlexander  14.10.2020, 15:51
@Lamanini

Mir scheint, das ist jetzt eine wortreiche Umschreibung für "Ich habe keine Ahnung". Kann natürlich auch sein, dass ich als Dipl.-Math. keine Ahnung von Kryptologie habe.

0
Lamanini  14.10.2020, 16:54
@EinAlexander

Wer mit einem Diplom schwenkt, um sich selber rechtzugeben, sollte wenigstens recht haben. Sonst schadet das. Weil Leute es dir glauben, die es nicht besser wissen.

Ein guter Verschlüsselungsalgorithmus ist unumkehrbar.

Falsch. Du meinst eine Hashfunktion. Ein Verschlüsselungsalgorithmus ist natürlich umkehrbar. Sonst könnte man etwas, was per AES oder RSA verschlüsselt wurde, ja nie wieder entschlüsseln, was TLS usw unbrauchbar machen würde. Du könntest dann nicht diese Seite sehen. Immerhin hat der Webserver diese verschlüsselt und dein PC dann entschlüsselt.

Men man aber weiß, dass eine Verschlüsselungsmthode namens md5 zur Verschlüsselung verwendet wurde

MD5 ist kein Verschlüsselungsalgorithmus, sondern eine Hashfunktion.

Eine Verschlüsselung setzt vorraus, dass es einen weg gibt, sie mit einem bestimmten Key wieder zu entschlüsseln. Das ist bei MD5 nicht der Fall. Alleine schon durch die Kollisionen.

Ein Beispiel für einen Verschlüsselungsalgorithmus wäre AES-256-CBC. Da werden praktisch nur Bits nach einem bestimmten Algorithmus rumgeschubst. Kennt man den Key, kann man es rückgängig machen.

Solche Algorithmen sind in PHP implementiert (https://www.php.net/manual/de/function.openssl-get-cipher-methods.php) und auch in Java (https://stackoverflow.com/questions/46835158/aes-256-cbc-in-java)

Encryption is the practice of scrambling information in a way that only someone with a corresponding key can unscramble and read it. Encryption is a two-way function. When you encrypt something, you’re doing so with the intention of decrypting it later.
Hashing is the practice of using an algorithm to map data of any size to a fixed length. This is called a hash value (or sometimes hash code or hash sums or even a hash digest if you’re feeling fancy). Whereas encryption is a two-way function, hashing is a one-way function. While it’s technically possible to reverse-hash something, the computing power required makes it unfeasible. Hashing is one-way

https://www.thesslstore.com/blog/difference-encryption-hashing-salting/

0

Ja. Wie kannst du dir aussuchen. Verschlüsseln in Base64 z.B.

Woher ich das weiß:Studium / Ausbildung – Informatik Studium