|
You last visited: Today at 21:07
Advertisement
[C#]Bestimmte Teile aus einer Textbox einlesen
Discussion on [C#]Bestimmte Teile aus einer Textbox einlesen within the .NET Languages forum part of the Coders Den category.
11/17/2015, 15:22
|
#1
|
elite*gold: 0
Join Date: Oct 2012
Posts: 658
Received Thanks: 138
|
[C#]Bestimmte Teile aus einer Textbox einlesen
Hallo,
als erstes möchte ich erwähnen das ich nicht sehr erfahren bin, daher ein bisschen Nachsicht bitte.
Ich arbeite gerade an einer art "Verschlüsselungs Programm" , meine Idee war das ich vom Benutzer ein "Faktor" eingeben lasse, das ist dann sozusagen der Schlüssel, ich hätte die Buchstaben mit den Zahlen ersetzt und mit dem Faktor multipliziert ( a = 1 * Faktor). Soweit so gut. Ich habe es auch hinbekommen das in eine Text Datei zu speichern. Mein Problem aber ist das entschlüsseln .
Meine Vorstellung war das ich dann die Zahl geteilt durch den Faktor wieder mit den jeweiligen Buchstaben ersetze. Ich bekomme es aber nicht hin die Zahlen geteilt voneinander einzulesen und damit zu rechnen. Ich habe als Platzhalter ein normales Leerzeichen und für ein Leerzeichen im Text ein - .
Code:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Verschlüsselung
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Lesen_Click(object sender, EventArgs e)
{
FileStream fs;
StreamReader sr;
string text;
try
{
fs = new FileStream(NameDateiL.Text + ".txt", FileMode.Open);
sr = new StreamReader(fs);
while (sr.Peek() != -1)
{
text = sr.ReadLine();
Nachricht.Text = text + "\n";
}
sr.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public void Form1_Load(object sender, EventArgs e)
{
}
public void Speichern_Click(object sender, EventArgs e)
{
FileStream fs;
StreamWriter sw;
int Faktor;
string sa, sb, sc, sd, sde, sf, sg, sh, si, sj, sk, sl, sm,so, sn, sp, sq, sr, ss, st, su, sv, ssw, sx, sy, sz;
Faktor = Convert.ToInt32(FaktorBox.Text);
int a, b, c, d, de, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
a = 1 * Faktor;
b = 2 * Faktor;
c = 3 * Faktor;
d = 4 * Faktor;
de = 5 * Faktor;
f = 6 * Faktor;
g = 7 * Faktor;
h = 8 * Faktor;
i = 9 * Faktor;
j = 10 * Faktor;
k = 11 * Faktor;
l = 12 * Faktor ;
m = 13 * Faktor;
n = 14 * Faktor;
o = 15 * Faktor;
p = 16 * Faktor;
q = 17 * Faktor;
r = 18 * Faktor;
s = 19 * Faktor;
t = 20 * Faktor;
u = 21 * Faktor;
v = 22 * Faktor;
w = 23 * Faktor;
x = 24 * Faktor;
y = 25 * Faktor;
z = 26 * Faktor;
string umwandeln;
string eingabe;
eingabe = Nachricht.Text;
eingabe = eingabe.Replace(" ", "-");
eingabe = eingabe.Replace("a"," " + a );
eingabe = eingabe.Replace("b", " " + b );
eingabe = eingabe.Replace("c", " " + c );
eingabe = eingabe.Replace("d", " " + d );
eingabe = eingabe.Replace("e", " " + de );
eingabe = eingabe.Replace("f", " " + f );
eingabe = eingabe.Replace("g", " " + g );
eingabe = eingabe.Replace("h", " " + h );
eingabe = eingabe.Replace("i", " " + i );
eingabe = eingabe.Replace("j", " " + j );
eingabe = eingabe.Replace("k", " " + k );
eingabe = eingabe.Replace("l", " " + l );
eingabe = eingabe.Replace("m", " " + m );
eingabe = eingabe.Replace("n", " " + n );
eingabe = eingabe.Replace("o", " " + o );
eingabe = eingabe.Replace("p", " " + p );
eingabe = eingabe.Replace("q", " " + q );
eingabe = eingabe.Replace("r" , " " + r );
eingabe = eingabe.Replace("s", " " + s );
eingabe = eingabe.Replace("t", " " + t );
eingabe = eingabe.Replace("u", " " + u);
eingabe = eingabe.Replace("v", " " + v );
eingabe = eingabe.Replace("w", " " + w );
eingabe = eingabe.Replace("x", " " + x );
eingabe = eingabe.Replace("y", " " + y );
eingabe = eingabe.Replace("z", " " + z );
umwandeln = eingabe;
try
{
fs = new FileStream(DateiName.Text + ".txt", FileMode.Create);
sw = new StreamWriter(fs);
sw.WriteLine(umwandeln);
sw.Close();
MessageBox.Show("hat geklappt!");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void zrrck_Click(object sender, EventArgs e)
{
string eingabe = Nachricht.Text;
eingabe = eingabe.Replace("-" , " ");
eingabe = eingabe.Replace(" ", "");
}
}
}
|
|
|
11/17/2015, 16:39
|
#2
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Übersehe ich etwas, oder müsstest du nicht einfach nur "text.split(...)" machen? Edit: Ich würde vermutlich als erstes die Worte trennen und danach die Buchstaben.
Ich würde es aber anders angehen. Ich würde die Daten direkt mit BinaryWriter und BinaryReader schreiben/lesen, dann hast du auch kein Problem deine Zeichen von einander zu trennen. Edit: Außerdem ist deine verschlüsselte Datei dann deutlich kleiner, weil aus einem Zeichen nicht plötzlich sagen wir mal 10 werden, sondern nur 4. Das ist zwar immer noch einiges mehr, aber trotzdem weniger.
Allerdings ist deine Verschlüsselung nicht besonders sicher, die bremst höchstens so lange bis man Programm geschrieben hat und schon kann jede Datei ohne deinen Faktor entschlüsselt werden. Wenn du mir nicht glaubst, gib mir einen verschlüsselten Text und etwas Zeit, dann kann ich dir wahrscheinlich sagen was da steht und wie dein Faktor ist.
|
|
|
11/17/2015, 17:35
|
#3
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Das wird eh nicht funktionieren, Stichwort Overflow
|
|
|
11/17/2015, 17:56
|
#4
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Quote:
Originally Posted by warfley
Das wird eh nicht funktionieren, Stichwort Overflow
|
So wie es jetzt ist hast du Recht. Wenn man die Buchstaben auf long oder den Faktor auf short verändern würde, sollte das Problem nicht mehr auftreten können. Das funktioniert natürlich auch nur bis zu einem bestimmten Punkt, wenn weitere Zeichen hinzugefügt werden sollen, wobei der Punkt dann in weit weg ist.
|
|
|
11/17/2015, 18:31
|
#5
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
das einfachste wäre wohl die bytes einfach mit xor und einem faktor zu verändern. Ist besser als deine lösung und schneller. Das ist aber kein ersatz für einen richtigen verschlüsselungs algorithmus?
|
|
|
11/17/2015, 19:22
|
#6
|
elite*gold: 0
Join Date: Oct 2012
Posts: 658
Received Thanks: 138
|
Quote:
Originally Posted by ComputerBaer
Übersehe ich etwas, oder müsstest du nicht einfach nur "text.split(...)" machen? Edit: Ich würde vermutlich als erstes die Worte trennen und danach die Buchstaben.
Ich würde es aber anders angehen. Ich würde die Daten direkt mit BinaryWriter und BinaryReader schreiben/lesen, dann hast du auch kein Problem deine Zeichen von einander zu trennen. Edit: Außerdem ist deine verschlüsselte Datei dann deutlich kleiner, weil aus einem Zeichen nicht plötzlich sagen wir mal 10 werden, sondern nur 4. Das ist zwar immer noch einiges mehr, aber trotzdem weniger.
Allerdings ist deine Verschlüsselung nicht besonders sicher, die bremst höchstens so lange bis man Programm geschrieben hat und schon kann jede Datei ohne deinen Faktor entschlüsselt werden. Wenn du mir nicht glaubst, gib mir einen verschlüsselten Text und etwas Zeit, dann kann ich dir wahrscheinlich sagen was da steht und wie dein Faktor ist.
|
Vielen Dank für die ausführliche Antwort!
Bei mir ist es gerade so:
Ich gehe auf eine Berufsfachschule und mache dort eine Ausbildung zum Technischen Assistenten für Informatik und dort haben wir natürlich auch Anwendungsentwicklung , das was wir bis jetzt machen war mir zu langweilig und ich wollte mich selbst ein wenig fordern und ein paar Ideen umsetzen, deshalb geht es mir auch nicht so sehr um die Sicherheit, also zumindest jetzt.
|
|
|
11/18/2015, 10:16
|
#7
|
elite*gold: 0
Join Date: Mar 2010
Posts: 22
Received Thanks: 3
|
Falles dich interessiert, hier ein link zur Encryption und Decryption in C#:
Wie schon gesagt würde eine split methode auch nur begrenzt funktionieren. Deshalb falls du dich für verschlüsselungen interessierst lies mal den Post den ich verlinkt habe durch, da erfährst du einiges.
|
|
|
 |
Similar Threads
|
Ganz einfache Adresse in einer Textbox ausgeben
01/07/2014 - C/C++ - 8 Replies
Hi.
Ich habe eine Textbox und eine Adresse "0x7b12c5c".
Nun möchte ich ganz einfach ohne Offsets etc. die Value in einer Textbox ausgeben.
Wie mach ich das am simpelsten?
Bis jetzt hatte ich sowas zum Schreiben benutzt:
void SetDisableSpeedhack(){
DWORD wert1 = *(DWORD*)BasePointer1;
if(wert1 > 0){
|
[S]Bestimmte Pc Teile [B]Geld
11/21/2012 - Trading - 0 Replies
Hey Community,
Ich suche NUR folgende Sachen keine andere:
500GB Seagate Barracuda ST500DM002 16MB 3.5" (8.9cm) SATA 6Gb/s
LG Electronics GH24NS90 DVD-RW SATA intern schwarz Bulk
Sharkoon MS120 Mini Tower ohne Netzteil schwarz
450 Watt Rasurbo Real & Power RAP450 Non-Modular 80+
1024MB VTX3D Radeon HD 7850 X-Edition Aktiv PCIe 3.0 x16 (Retail)
AMD Phenom II X4 Black Edition 965 4x 3.40GHz So.AM3 BOX
|
HEi suche bestimmte Grafik teile ;D
08/19/2011 - General Art - 5 Replies
hei leute ich suche sone art schnörkel sag ich mal
http://www.aziznatour.com/portfolio/media/web-des ign/newworld2/homepage.jpg
da sidn welche dran immer da an den rendern..... kann mir jemand sagen wo cih solche finde?
MFG terrorTom
|
[VB.net][HOW TO]Text einer Textbox verschlüsseln
06/14/2010 - Coding Tutorials - 4 Replies
Hallo,
Heute möchte ich euch zeigen wie ihr den Text einer Textbox verschlüsseln könnt.
Info: Es funktioniert nicht bei der RichTextBox
Also wir brauchen eine windows forms anwendung in der ihr mindestens 1 TextBox macht, mit dem Namen: TextBox1
Dann macht ihr einen Doppelklick auf die Form damit ihr im Form_Load Event seid.
Da schreibt ihr dann:
|
[Help]Zufälliger Text + Zahlen in einer Textbox generieren
05/14/2010 - General Coding - 4 Replies
Hi Leute, wie der Titel schon sagt, möchte ich einen Zufälligen text + nummern (also sowas wie: k3j4kjsj2) erstellen lassen per druck auf einen Button.
Ich bin schon so weit, dass es mit nummern geht. nur wie kann ich buchstaben an verschiedenen Positionen anzeigen lassen?
So weit bin ich:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim rnd As Random
Dim number As Integer
rnd = New Random
|
All times are GMT +1. The time now is 21:09.
|
|