/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example19_8.cs illustrates declarative role-based security */ using System; using System.IO; using System.Security.Permissions; [PrincipalPermissionAttribute(SecurityAction.Demand, Role="Administrators")] public class Example19_8 { public static void Main() { // Create a new file to work with FileStream fsOut = File.Create(@"c: emp est.txt"); // Create a StreamWriter to handle writing StreamWriter sw = new StreamWriter(fsOut); // And write some data sw.WriteLine("'Twas brillig, and the slithy toves"); sw.WriteLine("Did gyre and gimble in the wabe."); sw.Flush(); sw.Close(); } }
File Stream
Illustrates encrypting a file
/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example19_9.cs illustrates encrypting a file */ using System; using System.IO; using System.Security.Cryptography; public class Example19_9 { public static void Main() { // Create a new file to work with FileStream fsOut = File.Create(@"c: empencrypted.txt"); // Create a new crypto provider TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); // Create a cryptostream to encrypt to the filestream CryptoStream cs = new CryptoStream(fsOut, tdes.CreateEncryptor(), CryptoStreamMode.Write); // Create a StreamWriter to format the output StreamWriter sw = new StreamWriter(cs); // And write some data sw.WriteLine("'Twas brillig, and the slithy toves"); sw.WriteLine("Did gyre and gimble in the wabe."); sw.Flush(); sw.Close(); // save the key and IV for future use FileStream fsKeyOut = File.Create(@"c: empencrypted.key"); // use a BinaryWriter to write formatted data to the file BinaryWriter bw = new BinaryWriter(fsKeyOut); // write data to the file bw.Write( tdes.Key ); bw.Write( tdes.IV ); // flush and close bw.Flush(); bw.Close(); } }
Illustrates decrypting a file
/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example19_10.cs illustrates decrypting a file */ using System; using System.IO; using System.Security.Cryptography; public class Example19_10 { public static void Main() { // Create a new crypto provider TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); // open the file containing the key and IV FileStream fsKeyIn = File.OpenRead(@"c: empencrypted.key"); // use a BinaryReader to read formatted data from the file BinaryReader br = new BinaryReader(fsKeyIn); // read data from the file and close it tdes.Key = br.ReadBytes(24); tdes.IV = br.ReadBytes(8); // Open the encrypted file FileStream fsIn = File.OpenRead(@"c: empencrypted.txt"); // Create a cryptostream to decrypt from the filestream CryptoStream cs = new CryptoStream(fsIn, tdes.CreateDecryptor(), CryptoStreamMode.Read); // Create a StreamReader to format the input StreamReader sr = new StreamReader(cs); // And decrypt the data Console.WriteLine(sr.ReadToEnd()); sr.Close(); } }
Illustrates asymmetric cryptography
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example19_11.cs illustrates asymmetric cryptography
*/
using System;
using System.IO;
using System.Security.Cryptography;
public class Example19_11
{
public static void Main()
{
// Create a new crypto provider
RSACryptoServiceProvider rsa =
new RSACryptoServiceProvider();
// Data to encrypt
Byte[] testData = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// Encrypt the data
Byte[] encryptedData = rsa.Encrypt(testData, false);
Console.WriteLine(“Encrypted data:”);
for(int i=0; i
File Move Implementation
using System; using System.IO; class Class1 { static void Main(string[] args) { string [] cla = Environment.GetCommandLineArgs(); if (cla.GetUpperBound(0) == 2) { FileInfo fi = new FileInfo(cla[1]); fi.MoveTo(cla[2]); Console.WriteLine("File Created : " + fi.CreationTime.ToString()); Console.WriteLine("Moved to : " + cla[2]); } else Console.WriteLine ("Usage: mv <source file> <destination file>"); } }
Use the FileInfo Class to Delete Files with Ease
using System; using System.IO; class Class1 { static void Main(string[] args) { string [] cla = Environment.GetCommandLineArgs(); if (cla.GetUpperBound(0) == 1) { FileInfo fi = new FileInfo(cla[1]); fi.Delete(); Console.WriteLine("File : " + cla[1]); Console.WriteLine("Attributes: " + fi.Attributes.ToString()); Console.WriteLine("File Deleted..."); } else Console.WriteLine ("Usage: rm <filename>"); } }
C# Implementation of the File Copy Command
using System; using System.IO; class Class1 { static void Main(string[] args) { string [] cla = Environment.GetCommandLineArgs(); if (cla.GetUpperBound(0) == 2) { FileInfo fi = new FileInfo(cla[1]); fi.CopyTo(cla[2],true); Console.WriteLine("Copied " + fi.Length + " bytes."); } else{ Console.WriteLine ("Usage: cp <input file> <output file>"); } } }