A. des加密後密碼的長度可以確定嗎
des加密結果長度不會固定的,又不是hash再說密碼,為什麼要可解密的忘了就重置成初始密碼唄
B. java 對稱加密,不固定長度加密成固定長度密文
你好:
剛剛幫你查了下,所有的帖子,項目例子表示:
目前了解的經典加密(如對稱加密DES,AES,非對稱加密RSA)雖然可逆,但結果長度都是不定的,除非是 固定長度字元串轉固定長度密文
C. 固定長度加密演算法
private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV)
{
//Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
//Create variables to help with read and write.
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
//Read from the input file, then encrypt and write to the output file.
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
D. 如何實現定長數字串加密演算法
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高; RC2和 RC4:用變長密鑰對大量數據進行加密,比 DES 快; IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性; RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件快的長度也是可變的; DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准); AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高,目前 AES 標準的一個實現是 Rijndael 演算法; BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快; 其它演算法,如ElGamal、Deffie-Hellman、新型橢圓曲線演算法ECC等。
E. md5加密以後的字元串長度
加密後為128位(bit),按照16進制(4位一個16進制數)編碼後,就成了32個字元。MD5並不是加密演算法,而是摘要演算法。加密演算法是可逆的,摘要演算法是理專論上不可逆的,詳細步驟:
1、md5演算法主要應用在密碼領域,為了防止明文傳輸密碼的危險性,一般會用密碼的md5值來代替密碼本身。
F. 哪種加密演算法可以讓字元串加密後長度不變
替換加密法就不會改變長度,如愷撒密碼,維吉尼亞密碼一類
G. 求一款優秀的c#加密解密演算法 ,最好是定長密文
你一點分都捨不得給啊?我倒是准備發給你的.
加解密怎麼沒有啊!就是一個演算法啊
給你吧!!!!
using System;
class Chedn
{
static void Main()
{
int i;
Boolean sw;
char[] chen = new char[10];
Console.WriteLine("*******************歡迎使用*******************");
for (i = 0; i < chen.Length; i++)
{
Console.WriteLine("請輸入第{0}個數:", i + 1);
chen[i] = char.Parse(Console.ReadLine());
if ((chen[i] >= '0') && (chen[i] <= '9'))
{
}
else
{
sw = false;
Console.WriteLine("您的輸入有誤!");
break;
}
}
int m = 9;
int n = 0;
for (int a = 0; a < chen.Length / 2; a++)
{
char z = chen[m];
chen[m] = chen[n];
chen[n] = z;
m--;
n++;
}
for (i = 0; i < chen.Length; i++)
{
int pen = chen[i] + 17;
switch (pen)
{
case 'A':
chen[i] = 'A';
break;
case 'B':
chen[i] = 'B';
break;
case 'C':
chen[i] = 'C';
break;
case 'D':
chen[i] = 'D';
break;
case 'E':
chen[i] = 'E';
break;
case 'F':
chen[i] = 'F';
break;
case 'G':
chen[i] = 'G';
break;
case 'H':
chen[i] = 'H';
break;
case 'I':
chen[i] = 'I';
break;
case 'J':
chen[i] = 'J';
break;
}
} Console.Write("加密後為:");
foreach (char pen in chen)
{
Console.Write(pen+" ");
}
Console.Write("\n");
int x = 9; //解密
int y= 0;
for (int a = 0; a < 5; a++)
{
char z = chen[x];
chen[x] = chen[y];
chen[y] = z;
x--;
y++;
}
Console.Write("解密後為:");
for (i = 0; i < chen.Length; i++)
{
int hhh = chen[i] - 17;
switch (hhh)
{
case '0':
chen[i] = '0';
break;
case '1':
chen[i] = '1';
break;
case '2':
chen[i] = '2';
break;
case '3':
chen[i] = '3';
break;
case '4':
chen[i] = '4';
break;
case '5':
chen[i] = '5';
break;
case '6':
chen[i] = '6';
break;
case '7':
chen[i] = '7';
break;
case '8':
chen[i] = '8';
break;
case '9':
chen[i] = '9';
break;
}
}
foreach (char pen in chen)
{
Console.Write(pen+" ");
}
Console.Write("\n");
Console.ReadLine();
}
}
看了行不行都還是說一下啊,有問題再改進!!!
H. 如何將一個字元串加密成固定或者定長字元串,並解密
將任意長度字元串加密成定長字元串是可能的,但逆向解密是不可能的。
可以加密為可變長度的字元串再解密,或者也可以將一定長度范圍內的字元串加密為定長字元串並解密。
I. php純數字加密為可逆的定長密文
echosubstr(md5(1),8,16);//16位MD5加密
echomd5(1);//32位MD5加密
J. mysql的MD5加密後的字元能不能設定長度
MD5加密的話,限制長度在前台限制好了。 存儲的時候MD5加密存儲 密碼 = MD5(密碼)