如何从加密文件中获取文件类型?

哈尔塔扎尔

如何使用加密文件(即)中文件类型C#file.enc

加密方式: Shift Cipher Z 256

移位密码加密:

Yi = (Xi + k) % 256

Xi = (Yi - k) % 256

在哪里:

X i(i = 1:n)是以纯字节为单位的输入。

Y i(i = 1:n)是输出密码字节。

k是移位键,它是1到255之间的秘密字节。

如果必须先解密文件,如何在不使用详尽搜索来找到Shift键的情况下解密它

我说的不是要获取,.enc因为我已经可以轻松地做到这一点。我不能确定文件是如何加密之前,例如.doc.xls.pdf.jpg,或.wav文件类型。

我尝试过的是:

byte[] byteArray = File.ReadAllBytes(openFileDialog1.FileName);

// Mean
double mean = 0;

for (int i = 0; i < byteArray.Length; i++)
{
    mean += byteArray[i];
}

mean = mean / byteArray.Length;
txtMean.Text = mean.ToString("#.000");

// Median
byteArray.ToList().Sort();
int median = byteArray[(int)Math.Floor((decimal)(byteArray.Length / 2))];
txtMedian.Text = median.ToString();

// Mode
var groups = byteArray.GroupBy(g => g);
int maxCount = groups.Max(g => g.Count());
int mode = groups.First(g => g.Count() == maxCount).Key;
txtMode.Text = mode.ToString();

// Standard Deviation
double standardDeviation = byteArray.Select(value => (value - mean) * (value - mean)).Sum();
standardDeviation = Math.Sqrt(standardDeviation / byteArray.Length);
txtStandardDeviation.Text = standardDeviation.ToString("#.000");

// Entropy (I don't know how to get this part.)
int entropy = 0;
txtEntropy.Text = entropy.ToString();

所以,从这个你可以看到我拿的文件,读取文件的所有字节,并找到meanmedianmodestandard deviation,和entropy值。

顺便说一句,我不知道如何找到文件的熵值,是否有一些公式或C#内置方法?我已经搜索了,但是什么也没找到。

我认为使用该mode值将能够确定文件类型,但是它只能确定.pdf文件,因为.pdf文件的模式为48。

.doc.xls.docx.xlsx.jpg,和.wav文件的所有给我0的模式。

我也尝试过使用以下页面读取字节:

ASCII字符代码表1- https: //msdn.microsoft.com/zh-cn/library/60ecse8t ( v= vs.80) .aspx ASCII字符代码表2- https://msdn.microsoft.com/zh-我们/图书馆/9hxt0028(v=vs.80).aspx

使用此代码:

string str = Encoding.ASCII.GetString(byteArray).Substring(0, 256);

但它只是返回乱码,无法确定文件类型的差异。

玫瑰

如果是' Caesar Shift ',那么您只需要按字母顺序尝试每个可能的换档,其中只有25个。

NBCM CM UH YRUGJFY
nbcm cm uh yrugjfy
ocdn dn vi zsvhkgz
pdeo eo wj atwilha
qefp fp xk buxjmib
rfgq gq yl cvyknjc
sghr hr zm dwzlokd
this is an example
uijt jt bo fybnqmf
vjku ku cp gzcorng
wklv lv dq hadpsoh
xlmw mw er ibeqtpi
ymnx nx fs jcfruqj
znoy oy gt kdgsvrk
aopz pz hu lehtwsl
bpqa qa iv mfiuxtm
cqrb rb jw ngjvyun
drsc sc kx ohkwzvo
estd td ly pilxawp
ftue ue mz qjmybxq
guvf vf na rknzcyr
hvwg wg ob sloadzs
iwxh xh pc tmpbeat
jxyi yi qd unqcfbu
kyzj zj re vordgcv
lzak ak sf wpsehdw
mabl bl tg xqtfiex
nbcm cm uh yrugjfy

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章