<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: C) Cäsar Verschlüsselung</title>
	<atom:link href="http://www.java-blog-buch.de/c-casar-verschlusselung/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.java-blog-buch.de/c-casar-verschlusselung/</link>
	<description>Ein Buch über Java Programmierung als Blog</description>
	<lastBuildDate>Tue, 31 Jan 2012 16:30:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4696</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Tue, 31 Jan 2012 16:30:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4696</guid>
		<description>Hallo Ann,

normalerweise programmiert man nur wiederverwendbare Programmteile (Module) und fügt diese dann zu einem kompletten Programm zusammen. So könnte man bspw. die Verschlüsselung von der Konsole, mit einer GUI oder über einen WebService zur Verfügung stellen. Eine Beispielaufruf mit fest einkodiertem Text findet man in meinem vorherigen Kommentar direkt über Ihren (mit der Nummer 7.).

Grüße
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Ann,</p>
<p>normalerweise programmiert man nur wiederverwendbare Programmteile (Module) und fügt diese dann zu einem kompletten Programm zusammen. So könnte man bspw. die Verschlüsselung von der Konsole, mit einer GUI oder über einen WebService zur Verfügung stellen. Eine Beispielaufruf mit fest einkodiertem Text findet man in meinem vorherigen Kommentar direkt über Ihren (mit der Nummer 7.).</p>
<p>Grüße<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ann</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4695</link>
		<dc:creator>Ann</dc:creator>
		<pubDate>Tue, 31 Jan 2012 08:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4695</guid>
		<description>Wo ist hier denn die main methode?wie muss die aussehen??</description>
		<content:encoded><![CDATA[<p>Wo ist hier denn die main methode?wie muss die aussehen??</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4415</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Thu, 15 Apr 2010 05:15:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4415</guid>
		<description>Hallo Mentos05,

danke für deinen Kommentar.

Dein Denkfehler liegt im Detail. Schleife 1 geht von 32 bis kleiner als 39, also 38.  Schleife zwei fängt bei 40 an. Die 39 wird also ausgelassen. Allerdings kann ich dir nicht mehr sagen, warum ich die 39 (entspricht dem Zeichen &#039;) ausgelassen habe. Außerdem fehlte noch der Backslash ( \ ) bei den Sonderzeichen. Ich habe den Code dahingehend ausgebessert.

Ich habe nicht direkt 100 geschrieben (bzw. nach meiner Verbesserung 101),  damit die Aufteilung klarer wird. Man kann natürlich auch direkt 100 bzw. 101 schreiben.

Der Schlüssel wird nur neu gesetzt, wenn die &lt;code&gt;setSwitchIt&lt;/code&gt;-Methode aufgerufen, oder eine neue Instanz der Klasse erzeugt wird. Man könnte aber bspw. mehrere Texte mit einer Instanz der Klasse und ohne Aufruf von &lt;code&gt;setSwitchIt&lt;/code&gt; ver- und entschlüsseln.

Bspw.:

&lt;pre&gt;&lt;code&gt;  public static void main(String[] args) {

    Caesar c = new Caesar();
    String s = &quot;A&quot;;
    s = c.encrypt(s);
    System.out.println(s);
    s = c.decrypt(s);
    System.out.println(s);
    s = c.encrypt(s);
    System.out.println(s);
  }&lt;/code&gt;&lt;/pre&gt;

Wird das Vorzeichen zweimal gedreht, erhält man die korrekte Ausgabe

&lt;pre&gt;&lt;code&gt;D
A
D&lt;/code&gt;&lt;/pre&gt;

Dreht man es nur einmal, erhält man hingegen

&lt;pre&gt;&lt;code&gt;D
A
&gt;&lt;/code&gt;&lt;/pre&gt;

Ich hoffe diesbezüglich ist jetzt alles klar!?

Wenn du die Häufigkeitsverteilung der Buchstaben kennst, sollte es problemlos möglich sein, so ein Progrämmchen zu bauen. Zumindest auf vorerst einfachem Niveau. Durchsuche den verschlüsselten Text einfach nach den am häufigsten vorkommenden Buchstaben. Daraus kannst du dann ja relativ einfach ermitteln, wie der Schlüssel lauten könnte.

Einen Link habe ich jedoch nicht für dich.

Grüße
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Mentos05,</p>
<p>danke für deinen Kommentar.</p>
<p>Dein Denkfehler liegt im Detail. Schleife 1 geht von 32 bis kleiner als 39, also 38.  Schleife zwei fängt bei 40 an. Die 39 wird also ausgelassen. Allerdings kann ich dir nicht mehr sagen, warum ich die 39 (entspricht dem Zeichen &#8216;) ausgelassen habe. Außerdem fehlte noch der Backslash ( \ ) bei den Sonderzeichen. Ich habe den Code dahingehend ausgebessert.</p>
<p>Ich habe nicht direkt 100 geschrieben (bzw. nach meiner Verbesserung 101),  damit die Aufteilung klarer wird. Man kann natürlich auch direkt 100 bzw. 101 schreiben.</p>
<p>Der Schlüssel wird nur neu gesetzt, wenn die <code>setSwitchIt</code>-Methode aufgerufen, oder eine neue Instanz der Klasse erzeugt wird. Man könnte aber bspw. mehrere Texte mit einer Instanz der Klasse und ohne Aufruf von <code>setSwitchIt</code> ver- und entschlüsseln.</p>
<p>Bspw.:</p>
<pre><code>  public static void main(String[] args) {

    Caesar c = new Caesar();
    String s = "A";
    s = c.encrypt(s);
    System.out.println(s);
    s = c.decrypt(s);
    System.out.println(s);
    s = c.encrypt(s);
    System.out.println(s);
  }</code></pre>
<p>Wird das Vorzeichen zweimal gedreht, erhält man die korrekte Ausgabe</p>
<pre><code>D
A
D</code></pre>
<p>Dreht man es nur einmal, erhält man hingegen</p>
<pre><code>D
A
&gt;</code></pre>
<p>Ich hoffe diesbezüglich ist jetzt alles klar!?</p>
<p>Wenn du die Häufigkeitsverteilung der Buchstaben kennst, sollte es problemlos möglich sein, so ein Progrämmchen zu bauen. Zumindest auf vorerst einfachem Niveau. Durchsuche den verschlüsselten Text einfach nach den am häufigsten vorkommenden Buchstaben. Daraus kannst du dann ja relativ einfach ermitteln, wie der Schlüssel lauten könnte.</p>
<p>Einen Link habe ich jedoch nicht für dich.</p>
<p>Grüße<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Mentos05</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4413</link>
		<dc:creator>Mentos05</dc:creator>
		<pubDate>Wed, 14 Apr 2010 21:07:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4413</guid>
		<description>&lt;pre&gt;&lt;code&gt;    char[] ch = new char[26+26+10+32+6];
    int pos = 0;
    for (int i = 32; i &lt; 39; i++) {
      ch[pos++] = (char)i;
    }
    for (int i = 40; i &lt; 127; i++) {
      ch[pos++] = (char)i;
    }&lt;/code&gt;&lt;/pre&gt;

Wieso kann man hier nicht gleich von 32 bis 127 durchgehen? (Array out of bound exception)
Im Moment geht es doch von 32 nach 39 und von 40 nach 127 wenn ich das richtig verstehe.

&lt;code&gt;char[] ch = new char[26+26+10+32+6];&lt;/code&gt;
Wieso schreibst du hier nicht 100 hin?
Oder dient das nur dem Verständnis? (26 kleine Buchstaben, 26 große, etc.)

&lt;pre&gt;&lt;code&gt;  public String decrypt(String text) {
    setSwitchIt(getSwitchIt() * -1);
    text = encrypt(text);
    setSwitchIt(getSwitchIt() * -1);
    return text;
  }&lt;/code&gt;&lt;/pre&gt;

Wieso drehst du das Vorzeichen zwei Mal?
Der Schlüssel wird doch sowieso bei jedem Aufruf erneut gesetzt, soweit ich das verstehe.

Bin noch ein Anfänger was Java angeht, von daher bitte nicht lachen, falls ich irgendwo schwere Denkfehler habe. =)

Des Weiteren, die Entschlüsselungsmethode funktioniert ja nur, wenn man den Schlüssel weiß.
Ich möchte anhand von Buchstabenhäufigkeitsverteilung (nur die deutsche Sprache), eine Entschlüsselung programmieren, die als Ergebnis den entschlüsselten Text mit Schlüssel ausgibt.
Hättest du da vielleicht eventuell irgendwelche guten Anlaufpunkte im Web? Beispielscripte sind immer gerne gesehen.
Das hier ist dennoch ein hervorragendes Grundgerüst zum lernen. Vielen Dank schonmal!</description>
		<content:encoded><![CDATA[<pre><code>    char[] ch = new char[26+26+10+32+6];
    int pos = 0;
    for (int i = 32; i &lt; 39; i++) {
      ch[pos++] = (char)i;
    }
    for (int i = 40; i &lt; 127; i++) {
      ch[pos++] = (char)i;
    }</code></pre>
<p>Wieso kann man hier nicht gleich von 32 bis 127 durchgehen? (Array out of bound exception)<br />
Im Moment geht es doch von 32 nach 39 und von 40 nach 127 wenn ich das richtig verstehe.</p>
<p><code>char[] ch = new char[26+26+10+32+6];</code><br />
Wieso schreibst du hier nicht 100 hin?<br />
Oder dient das nur dem Verständnis? (26 kleine Buchstaben, 26 große, etc.)</p>
<pre><code>  public String decrypt(String text) {
    setSwitchIt(getSwitchIt() * -1);
    text = encrypt(text);
    setSwitchIt(getSwitchIt() * -1);
    return text;
  }</code></pre>
<p>Wieso drehst du das Vorzeichen zwei Mal?<br />
Der Schlüssel wird doch sowieso bei jedem Aufruf erneut gesetzt, soweit ich das verstehe.</p>
<p>Bin noch ein Anfänger was Java angeht, von daher bitte nicht lachen, falls ich irgendwo schwere Denkfehler habe. =)</p>
<p>Des Weiteren, die Entschlüsselungsmethode funktioniert ja nur, wenn man den Schlüssel weiß.<br />
Ich möchte anhand von Buchstabenhäufigkeitsverteilung (nur die deutsche Sprache), eine Entschlüsselung programmieren, die als Ergebnis den entschlüsselten Text mit Schlüssel ausgibt.<br />
Hättest du da vielleicht eventuell irgendwelche guten Anlaufpunkte im Web? Beispielscripte sind immer gerne gesehen.<br />
Das hier ist dennoch ein hervorragendes Grundgerüst zum lernen. Vielen Dank schonmal!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4360</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Wed, 27 Jan 2010 12:44:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4360</guid>
		<description>Hallo Amelie,

das ist ja alles kein Thema. Wir helfen auch gerne, wenn es Probleme gibt. Aber ohne konkrete Frage kann ich euch leider nicht weiterhelfen.

Gruß
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Amelie,</p>
<p>das ist ja alles kein Thema. Wir helfen auch gerne, wenn es Probleme gibt. Aber ohne konkrete Frage kann ich euch leider nicht weiterhelfen.</p>
<p>Gruß<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Amelie</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4359</link>
		<dc:creator>Amelie</dc:creator>
		<pubDate>Wed, 27 Jan 2010 10:31:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4359</guid>
		<description>ja wir sahen im computerraum nebeneinander und mussten diese aufgabe in Infomartik machen.
Wir sollten diese Verschlüsserung selbst herstellen mit java. ja und wir sind java nieten</description>
		<content:encoded><![CDATA[<p>ja wir sahen im computerraum nebeneinander und mussten diese aufgabe in Infomartik machen.<br />
Wir sollten diese Verschlüsserung selbst herstellen mit java. ja und wir sind java nieten</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan Kiesel</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4358</link>
		<dc:creator>Stefan Kiesel</dc:creator>
		<pubDate>Mon, 25 Jan 2010 13:48:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4358</guid>
		<description>OK, das ist zweimal ein Kommentar von der selben IP-Adresse mit unterschiedlichem Namen und kurz hintereinander. Wenn wirklich Hilfe gewünscht ist, dann bitte mit richtigen Namen, etwas geduldiger, und mit konkreter Problembeschreibung: Was genau wird nicht verstanden?

Gruß
Stefan</description>
		<content:encoded><![CDATA[<p>OK, das ist zweimal ein Kommentar von der selben IP-Adresse mit unterschiedlichem Namen und kurz hintereinander. Wenn wirklich Hilfe gewünscht ist, dann bitte mit richtigen Namen, etwas geduldiger, und mit konkreter Problembeschreibung: Was genau wird nicht verstanden?</p>
<p>Gruß<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Amelie</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4357</link>
		<dc:creator>Amelie</dc:creator>
		<pubDate>Mon, 25 Jan 2010 13:40:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4357</guid>
		<description>wer erklärt mir das bitte in einfach?
ich versteh nichts!!!!!!! :(</description>
		<content:encoded><![CDATA[<p>wer erklärt mir das bitte in einfach?<br />
ich versteh nichts!!!!!!! <img src='http://www.java-blog-buch.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: leon</title>
		<link>http://www.java-blog-buch.de/c-casar-verschlusselung/comment-page-1/#comment-4356</link>
		<dc:creator>leon</dc:creator>
		<pubDate>Mon, 25 Jan 2010 13:38:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.java-blog-buch.de/?p=867#comment-4356</guid>
		<description>ich kann das alles nicht ich bin dumm und will nach hause</description>
		<content:encoded><![CDATA[<p>ich kann das alles nicht ich bin dumm und will nach hause</p>
]]></content:encoded>
	</item>
</channel>
</rss>

