28

02/06

2ter bensite.net podcast

16:28 by gernot. Filed under: Misc,Nerd Stuff

Hier gehts zum 2ten Podcast mit mir als Co Moderator: Link

22

02/06

1. Blogger Treffen

13:35 by gernot. Filed under: Misc
Tags:

Wir, (Benedikt, Christoph und ich) laden am Samstag, 4. März zu unserem 1. Blogger-Treffen ein.

Worum gehts?

Das Treffen soll einfach eine gemütliche Runde werden, in der wir Erfahrungen und Ideen austauschen und über Webspezifisches diskutieren können. Als kleine Anregung eine kleine (und natürlich unvollständige) Liste:

  • Webstandards
  • Design
  • AJAX
  • Best Practices
  • Ausbildung
  • Empfehlenswertes im Web

Im Lokal gibt es kostenloses WLAN, als bringt eure Notebooks mit!

Wo und Wie?

Wir treffen uns am Samstag, 4. März um 18.00 Uhr im »Salzberg« in der Magdalenenstraße 17 im 6. Bezirk in Wien. Wir haben einen Tisch für 12 Personen reserviert, wenn du dabei sein willst, schreib einfach eine kurze Mail an Benedikt.

Anfahrt

Öffentlich:
U4 bis Station »Pilgramgasse«; zu Fuß in die Hofmühlgasse, dann rechts in die Mollardgasse. Anschließend geradeaus bis zur Magdalenenstraße (ca. 5 Minuten). Das Salzberg ist dann nicht mehr zu übersehen.

Auto:
Auf der Salzberg-Website gibt es eine kleine Übersichtskarte. Parkplätze sollten am Wochenende kein Problem sein. Zu beachten gilt die Einbahnregelung der Wienzeilen: dich rechte Wienzeile geht nur stadteinwärts, die linke nur stadtauswärts.

Ich freu mich auf eure Rückmeldungen! Bei weiteren Fragen kontaktiert mich einfach.

02

02/06

CSharp – Rijndael/AES symetric Encryption and Decryption

18:15 by gernot. Filed under: Coding

A short tutorial how to encrypt, respectivelly decrypt a string in C# with Rijndael/AES.

NOTE: The Keygeneration is done in the encryption and decryption methods. For usage in a ‘real’ application this should be outsourced.

Encryption

using System.Security.Cryptography;

// Input Values:
// pwdHash = “MD5″ / “SHA1″
// iv = “16 ASCII Characters”
// keySize = 128 / 192 / 256

public string Encrypt(string text, string pwdPhrase, string pwdSalt, string pwdHash,
  int pwdIterations, string iv, int keySize)
{
  byte[] ivBytes = Encoding.ASCII.GetBytes(iv);
  byte[] pwdSaltBytes = Encoding.ASCII.GetBytes(pwdSalt);
  byte[] textBytes = Encoding.UTF8.GetBytes(text);
  PasswordDeriveBytes pwd
     = new PasswordDeriveBytes (pwdPhrase, pwdSaltBytes, pwdHash, pwdIterations);
  byte[] keyBytes = pwd.GetBytes( keySize / 8 );
  RijndaelManaged symmKey = new RijndaelManaged ();
  symmKey.Mode = CipherMode.CBC;
  ICryptoTransform enc
     = symmKey.CreateEncryptor(keyBytes, ivBytes);
  MemoryStream mem = new MemoryStream ();
  CryptoStream cry
     = new CryptoStream (mem, enc, CryptoStreamMode.Write);
  cry.Write(textBytes, 0, textBytes.Length);
  cry.FlushFinalBlock();
  byte[] cipBytes = mem.ToArray();
  mem.Close();
  cry.Close();
  return Convert.ToBase64String(cipBytes);
}

Decryption

using System.Security.Cryptography;

// Input Values:
// pwdHash = “MD5″ / “SHA1″
// iv = “16 ASCII Characters”
// keySize = 128 / 192 / 256

public string Decrypt(string cip, string pwdPhrase, string pwdSalt, string pwdHash,
  int pwdIterations, string iv, int keySize)
{
  byte[] ivBytes = Encoding.ASCII.GetBytes(iv);
  byte[] pwdSaltBytes = Encoding.ASCII.GetBytes(pwdSalt);
  byte[]cipTextBytes = Convert.FromBase64String(cip);
  PasswordDeriveBytes pwd
     = new PasswordDeriveBytes (pwdPhrase, pwdSaltBytes, pwdHash, pwdIterations);
  byte[] keyBytes = pwd.GetBytes( keySize / 8 );
  RijndaelManaged symmKey = new RijndaelManaged ();
  symmKey.Mode = CipherMode.CBC;
  ICryptoTransform dec
     = symmKey.CreateDecryptor(keyBytes, ivBytes);
  MemoryStream mem = new MemoryStream (cipTextBytes);
  CryptoStream cry
     = new CryptoStream (mem, dec, CryptoStreamMode.Read);
  byte[] textBytes = new byte[cipTextBytes.Length];
  int decByteCount
     = cry.Read(textBytes, 0, textBytes.Length);
  mem.Close();
  cry.Close();
  return Encoding.UTF8.GetString(textBytes, 0, decByteCount);
}