public string Upload(string path, string filename, string key, int alg) { try { byte[] f = File.ReadAllBytes(path); StoredFile sf = new StoredFile(); sf.username = Username; sf.filename = filename; sf.hash = MD5.HashString(f); switch (alg) { case 0: sf.data = DoubleTransposition.Encrypt(f, key, sf.hash); sf.size = sf.data.Length; break; case 1: sf.data = XTEA.Encrypt(f, key, sf.hash); sf.size = sf.data.Length; break; default: throw new Exception("You have not chosen an algorithm."); } svc.Upload(Username, sf, Token); Refresh(); return("File successfuly uploaded."); } catch (Exception e) { return(e.Message); } }
public void XTEAEcnryption(FileInfo file, FormModel model) { bool threadSuccesfull = false; var timeStarted = DateTime.Now; try { //OutputFileName string outputFileName = FileNameCreator.CreateFileEncryptedName( model.Folders.OutputFolder, file.Name, model.AlgorithmName); //Log loggerController.Add(" ! File enc: " + file.Name + ", Alg: " + model.AlgorithmName); //Read a file char by char, and encrypt it using (FileStream fsw = new FileStream(outputFileName, FileMode.Create)) { using (BinaryWriter bw = new BinaryWriter(fsw, new ASCIIEncoding())) { //Writing the extension char[] extension = file.Extension.Substring(1, file.Extension.Length - 1).ToCharArray(); char extensionLength = (char)extension.Length; bw.Write(extensionLength); for (var k = 0; k < extension.Length; k++) { bw.Write(extension[k]); } //Reading and encrypting files var readedValue = File.ReadAllBytes(file.FullName); var encryptedValue = XTEA.Encrypt(readedValue); bw.Write(encryptedValue); if (LoadedFilesController._END_OF_ENC_DEC_THREADS) { bw.Dispose(); fsw.Dispose(); File.Delete(outputFileName); Thread.CurrentThread.Abort(); } } } threadSuccesfull = true; Thread.Sleep(250); } catch (Exception ex) { loggerController.Add(" ? Enc exception: " + ex.Message); threadSuccesfull = false; } finally { this.ThreadEnds(file, threadSuccesfull, timeStarted); } }
/// <summary> /// Stores the user's credentials in PlayerPrefs. /// </summary> /// <param name="username">The username to store.</param> /// <param name="token">The token to store.</param> /// <returns>Whether the operations was successfull.</returns> public bool RememberUserCredentials(string username, string token) { if (string.IsNullOrEmpty(UserCredentialsPreferences) || string.IsNullOrEmpty(Settings.EncryptionKey) || string.IsNullOrEmpty(username) || string.IsNullOrEmpty(token)) { return(false); } var credentials = XTEA.Encrypt(username, Settings.EncryptionKey) + "#" + XTEA.Encrypt(token, Settings.EncryptionKey); PlayerPrefs.SetString(UserCredentialsPreferences, credentials); PlayerPrefs.Save(); return(true); }
/// <summary> /// Sends a packet to the client /// </summary> /// <param name="packet"> The Packet </param> internal void SendPacket(IPacket packet) { try { _stream.Write(_needToDecrypt ? XTEA.Encrypt(packet.Data, Config.Pong) : packet.Data, 0, packet.Data.Length); } catch (IOException e) { _log.Error("Error with client: " + _ip + " Exception: " + e); Drop("IOException: " + e.Message); } }
public void XTEABMPEcnryption(FileInfo file, FormModel model) { bool threadSuccesfull = false; var timeStarted = DateTime.Now; try { if (!file.Extension.Contains("bmp")) { throw new Exception("File is not bmp!"); } //OutputFileName string outputFileName = FileNameCreator.CreateFileEncryptedNameBMP( model.Folders.OutputFolder, file.Name, model.AlgorithmName); //Log loggerController.Add(" ! File enc: " + file.Name + ", Alg: " + model.AlgorithmName); //Read a file char by char, and encrypt it using (FileStream fsw = new FileStream(outputFileName, FileMode.Create)) { using (BinaryWriter bw = new BinaryWriter(fsw, new ASCIIEncoding())) { //Reading and encrypting files var readedValue = File.ReadAllBytes(file.FullName); long pos = readedValue[10] + 256 * (readedValue[11] + 256 * (readedValue[12] + 256 * readedValue[13])); byte[] header = new byte[pos]; for (int i = 0; i < header.Length; i++) { header[i] = readedValue[i]; } byte[] data = readedValue.Skip(header.Length).ToArray(); var encryptedValue = XTEA.Encrypt(data); encryptedValue = header.Concat(encryptedValue).ToArray(); bw.Write(encryptedValue); if (LoadedFilesController._END_OF_ENC_DEC_THREADS) { bw.Dispose(); fsw.Dispose(); File.Delete(outputFileName); Thread.CurrentThread.Abort(); } } } threadSuccesfull = true; Thread.Sleep(250); } catch (Exception ex) { loggerController.Add(" ? Enc exception: " + ex.Message); threadSuccesfull = false; } finally { this.ThreadEnds(file, threadSuccesfull, timeStarted); } }