Archiv verlassen und diese Seite im Standarddesign anzeigen : Kryptographie in Java?
Hallo!
Also: Ist es (rein technisch) möglich, in Java ein Programm zu schreiben, mit dem ich dann im DOS-Prompt irgendeinen Text hineinschreibe (nach Aufruf des Programms) und dieser Text danach chiffriert wieder ausgegeben wird?
Also so: Programm starten -> Text eingeben -> Ausgabe des chiffrierten Textes.
Das Ganze soll keinen endkomplizierten Algorithmus haben, es reicht das Schema: Vertausche Buchstabe A mit Zahl 1, oder sowas in der Art.
Da mich das echt interessiert, würd ich mich freuen, jemand könnte mir sagen, wie man so ein Programm schreibt (bzw.: ob es überhaupt möglich ist.)
Danke, im Voraus
also kenn mich (noch) nicht soo gut in java aus aber bin mir sicher das das möglich ist, find ich auch ein sehr interessantes thema,weil man bei kryptographie ja nie weis wer die schlüssel alles hat (BND,CIA usw.), jedoch ist kryptographie keine ganz so einfache angelegenheit!
aber verschiebe chiffren in java dürfte meines wissen kein problem darstellen, nur hab ich auchmomentan probleme mit stringbearbeitungen, vielleicht kenn ja jemand ein tutorial das er empfehlen kann!
also ich kann dir jetzt keinen code schreiben, weil wie gesagt hab ich die stringbearbeitung noch nicht so raus!
naja, kommt drauf an wie simple.
zum einen könntest du natürlich ne billige Caesar oder EXOR Verschlüsselung einbauen.
Ansonsten kannst du dir mal CipherInputStream....oder MessageDigest angucken.
mfg
maceop
---edit:-----
hab dir mal ein beispiel vom javabuch (www.javabuch.de) umgeschrieben....dort ist übrigens ein kurzes kapitel zu Kryptographie drin.
/* Listing4703.java */
import java.io.*;
import java.security.*;
public class Listing4703
{
/**
* Konvertiert ein Byte in einen Hex-String.
*/
public static String toHexString(byte b)
{
int value = (b & 0x7F) + (b < 0 ? 128 : 0);
String ret = (value < 16 ? "0" : "");
ret += Integer.toHexString(value).toUpperCase();
return ret;
}
public static void main(String[] args)
{
String our_string = "hallo_du";
try {
//MessageDigest erstellen
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(our_string.getBytes(), 0, our_string.length());
//MessageDigest berechnen und ausgeben
byte[] result = md.digest();
for (int i = 0; i < result.length; ++i) {
System.out.print(toHexString(result[i]) + " ");
}
System.out.println();
} catch (Exception e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
Das führt bei mir z.B. zu :
59 5F FD A7 5E EB A5 F8 3F 04 9C 82 23 CF 18 EC C5 E0 5C 4C
mfg
maceop
peschmae
18-03-2003, 13:59
für "ernsthafte" verschlüsselung gibts die Java Crypto API
http://java.sun.com/j2se/1.4.1/docs/api/javax/crypto/package-tree.html
die ist seit jdk 1.4 fix dabei (vorher nur Zusatz - Package)
Anwendung s.o., allerdings sind die natürlich nicht Open Source und da könnte auch sun was eingebaut haben...
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.