Cypher

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 5f4c941ac08d2b16b3b0bfe87b0a96c8828e5692
parent c55b40dbba78678aad71510d9898358edbe3c112
Author: Minerva-Juppiter <ryouturn@gmail.com>
Date:   Thu, 25 Aug 2022 11:45:09 +0900


Diffstat:
MEncrypt.cs | 30+++++++++++++++++++++++++-----
1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/Encrypt.cs b/Encrypt.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; @@ -38,17 +39,17 @@ namespace Cypher Question question = new Question(); whereEncryptedFilefolder = question.Questions("Where will you create encrypted file? (folder Name)", false); - while (Directory.Exists(whereEncryptedFilefolder)==false) + while (Directory.Exists(whereEncryptedFilefolder) == false) { Console.WriteLine("You selected not exis folder."); Console.WriteLine("Let's try another folder!"); whereEncryptedFilefolder = question.Questions("Where will you create encrypted file? (folder Name)", false); } - whereEncryptedfileName = question.Questions("What will you create encrypted file name?",false); - whereEncryptedFile = whereEncryptedFilefolder + whereEncryptedfileName + ".cypher"; + whereEncryptedfileName = question.Questions("What will you create encrypted file name?", false); + whereEncryptedFile = whereEncryptedFilefolder + whereEncryptedfileName; whereDateFile = question.Questions("Where is the file you want to encrypt?", true); whereKeyFile = question.Questions("Where is keyFile?", true); - + //順序ファイルの読み込み StreamReader sr = new StreamReader(whereKeyFile); @@ -130,8 +131,27 @@ namespace Cypher } } + //ハッシュ関数で元のファイルおよび、ファイル固有値をハッシュ化 + SHA512 shaM = new SHA512Managed(); //インスタンス + //元のファイルにハッシュをかける + //元データ:bs ハッシュ後:hashdate + byte[] hashdate; + hashdate = shaM.ComputeHash(bs); + //元データ:encrypted.Length ハッシュ後:hashlength + byte[] Encryptlength; + Encryptlength = BitConverter.GetBytes(encrypted.Length); + byte[] hashLength; + hashLength = shaM.ComputeHash(Encryptlength); + + //フォルダを作成 + Directory.CreateDirectory(whereEncryptedFile); + + //ハッシュ値を別ファイルに保存する + File.WriteAllBytes(whereEncryptedFile + @"\" + "Date", hashdate); + File.WriteAllBytes(whereEncryptedFile + @"\" + "Number", hashLength); + //書きこ - File.WriteAllBytes(whereEncryptedFile, encrypted); + File.WriteAllBytes(whereEncryptedFile + @"\" + "Encrypted", encrypted); Console.WriteLine("Encrypt was ended."); Console.WriteLine("The date key is " + encrypted.Length + "."); Console.WriteLine("You have to remember it!");