Cypher

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

commit 246d625e821ecbfb8814141e192eeafbb4527791
parent 86e3f6b38747b00c9f3de50714e74f68da2b7057
Author: Minerva_juppiter <94231606+minerva-jupiter@users.noreply.github.com>
Date:   Sat, 25 Jun 2022 23:56:14 +0900


Diffstat:
MEncrypt.cs | 2+-
DReadKeyFile.cs | 12------------
Mtest.cs | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
3 files changed, 62 insertions(+), 21 deletions(-)

diff --git a/Encrypt.cs b/Encrypt.cs @@ -20,7 +20,7 @@ namespace Cypher int amari = 0; //あまり int inNumber = 0; //入力データ番号 int arrayNumber = 0; //配列番号 - int chapter = 0; + int Cchapter = 0; int f = 0; byte[] eByte = new byte[1]; diff --git a/ReadKeyFile.cs b/ReadKeyFile.cs @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Cypher -{ - internal class ReadKeyFile - { - } -} diff --git a/test.cs b/test.cs @@ -25,6 +25,7 @@ namespace Cypher int f = 0; byte[] eByte = new byte[1]; + //質問 string whereDateFile; string whereKeyFile; @@ -47,12 +48,8 @@ namespace Cypher //配列に順序を書き込み - while (inNumber < 100) - { - order[inNumber] = int.Parse(sr.ReadLine()); - inNumber++; - } - Console.WriteLine("Order was written to int."); + ResdFiles resdFiles = new ResdFiles(); + order = resdFiles.ReadKeyFile(whereKeyFile); //ファイルの内容をすべて読み込む @@ -62,12 +59,68 @@ namespace Cypher fs.Close(); Console.WriteLine("Date was readed to byte."); - //ここまでテスト完了 + byte[] encrypted = new byte[bs.Length]; - //順序入れ替え + //ここまでテスト完了 + int indexNumuber; + int indexEnd; + int indexStart; + int outNumber = 0; + if (bs.Length % 0 == 0) + { + quotient = bs.Length / 100; + //百で割り切れる場合 + while(arrayNumber < 100) + { + indexNumuber = Array.IndexOf(order, arrayNumber); + indexStart = quotient * indexNumuber; + indexEnd = quotient * (indexNumuber+1); + inNumber = indexStart; + while (inNumber < indexEnd) + { + encrypted[outNumber] = bs[inNumber]; + outNumber++; + } + arrayNumber++; + } + } + else + { + //割り切れない場合 + quotient = bs.Length / 99; + amari = bs.Length - quotient * 99; + int where99 = Array.IndexOf(order, 99); + { + while(arrayNumber < 100) + { + indexNumuber = Array.IndexOf(order, arrayNumber); + if(indexNumuber < where99) + { + indexStart = quotient * indexNumuber; + indexEnd = quotient * (indexNumuber + 1); + }else if(indexNumuber == where99){ + indexStart = where99 * quotient; + indexEnd = (where99+1) * quotient; + } + else + { + indexStart = (indexNumuber-1) * quotient + amari; + indexEnd = indexNumuber * quotient + amari; + } + inNumber = indexStart; + while(inNumber < indexEnd) + { + encrypted[outNumber] = bs[inNumber]; + outNumber++; + } + arrayNumber++; + } + } + } + }