Just published the latest release v1.10.1124.358 of the C# Library hosted on google code. Major new functionality in the form of the new assembly CSharpTest.Net.RpcLibrary. This library wraps PInvoke calls to the Win32 RPC APIs. This allows pure managed C# applications the ability to move byte arrays over the supported rpc protocols. The following is [...]

 

So first off this is not new, it’s been around for a long, long while. One issue I have with IDisposable is that for whatever reason .Net did not include a base class for handling the details… I admit you may not always be able to leverage it since you may have a base class, [...]

 

This one is actually something of a triviality, yet it can be very useful at times. Now a word of caution is due here, this object is built on System.Threading.Timer and should not be used to enqueue 12 million work items. Yet if you need to perform a simple task at some time in the [...]

 

Changes in this version: Added CmdTool.exe – the last Visual Studio code generator you’ll ever need :) Code generation made easy, just write a command line tool. No shutting down Visual Studio when you change your code generation tool. Integrates with Visual Studio 2005, 2008, or 2010. Displays console output in Visual Studio’s output window. [...]

 

Most people I’ve seen online compute a simple hash of password + salt for persistence and authentication. This is the accepted standard in a straight-forward solution: byte[] Hash(string password) { byte[] pass = System.Text.Encoding.UTF8.GetBytes(password); //Create the salt to use byte[] salt = new byte[32]; new RNGCryptoServiceProvider().GetBytes(salt); //Create the hash of password and salt HashAlgorithm hashAlgo [...]

 

So recently I’ve been working heavily with some of the cryptography stuff in .Net and adding a large amount of it to my open source library. One of the many things I needed to perform was simply encrypting and decrypting a piece of data with a password. It seems everyone out there is using Rfc2898DeriveBytes [...]

 

Changes in this version: Library.Crypto namespace was added with a fairly complete cryptography API (at least what I needed) including: Added Library.Crypto.WhirlpoolManaged a managed implementation of the whirlpool hash function. Added Library.Crypto.Password to wrap up the complexities of using a password for authentication and/or encryption. Library.IO namespace was added to include several new stream derivations [...]

 

This plugin should now be functional on 64-bit installations of TortoiseSVN, use the x64 installation from: https://github.com/csharptest/JiraSVN/archives/master Let me know if you have any difficulties.

 

As promised in the previous post “How to implement a generic Shallow-Clone for an object in C#” this will demonstrate deep-cloning objects that don’t explicitly support the behavior. Before I continue I will again state that I don’t recommend this approach. It will be many times slower than a properly implemented Clone() and can cause [...]

 

Changes in this version: CSBuild initial release – a command-line compilation utility that drives MSBuild to compile designated project files. Added Library.Cloning namespace to support deep-object cloning of any object using either memberwize or serializable copy. Added Library.Collections.ReadOnlyList to provide a read-only collection interface and implementation. Added Library.Collections.OrdinalList to provide a collection of integers stored [...]