當前位置:首頁 » 密碼管理 » 定長加密演算法

定長加密演算法

發布時間: 2022-08-27 03:42:37

A. java 對稱加密,不固定長度加密成固定長度密文

你好:
剛剛幫你查了下,所有的帖子,項目例子表示:
目前了解的經典加密(如對稱加密DES,AES,非對稱加密RSA)雖然可逆,但結果長度都是不定的,除非是 固定長度字元串轉固定長度密文

B. 有什麼演算法把一個字元串加密為固定長度並可以解密

將任意長度字元串加密成定長字元串是可能的,但逆向解密是不可能的。 可以加密為可變長度的字元串再解密,或者也可以將一定長度范圍內的字元串加密為定長字元串並解密。

C. 求一個易語言的位元組集加密演算法,最好是類似MD5這種能把任意長度的位元組集加密成固定長度的密文的。當然

MD5
不可能直接解密的
不存在一種可逆的演算法(能加密和加密)能把不同的明文加密成固定長度的密文

D. 固定長度加密演算法

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();
}

E. md5加密以後的字元串長度

加密後為128位(bit),按照16進制(4位一個16進制數)編碼後,就成了32個字元。MD5並不是加密演算法,而是摘要演算法。加密演算法是可逆的,摘要演算法是理專論上不可逆的,詳細步驟:

1、md5演算法主要應用在密碼領域,為了防止明文傳輸密碼的危險性,一般會用密碼的md5值來代替密碼本身。

F. 如何實現定長數字串加密演算法

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等。

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. MD5加密 32位加密比16位安全嗎

MD5

定長
加密
利用矩陣等演算法計算
具體演算法可以在網上查到各種語言的代碼
不算很長
按照理論來說
是不可逆的運算
據說
有人已經找出了它的逆運算
破解率也比較高
但是掌握這種技術的人還很少
目前來說MD5還是很廣泛的應用各種行業
比如金融和軍事

I. php純數字加密為可逆的定長密文

你這不是md5加密嗎,sql直接寫就行了。
你在資料庫工具中執行一下,select md5(1);

或者php的md5函數
echo md5(1);

php自帶可逆的加密是base64_encode和base64_decode,但是這個不是等長的,根據輸入的內容變換長度。估計這個不適合你。

你還是網路」php加密解密「吧,有現成的函數。

J. 有關字元加密演算法的問題!

MD5不是加密用的.

當對一個串進行MD5的時候,最後得到的總是一個定長的數據塊(32位元組),

而且不能通過計算後的數據解密得到原始數據.

所以不可能給你想要的結果.


真正的加密演算法是可以加密任何長度的數據,

因為最後解密要還原最初的數據,既不能多也不能少.

所以你可以找任何一個加密演算法都可以,比如DES , RSA.

如果願意, 你也可以定義自己的加密演算法.

比如:


#defineM_LEN12//分組長度為12的加密解密演算法

//加密,解密函數
voidencrypt(char*data,intnLen,constcharkey[M_LEN])
{
//簡單通過按位元組xor加密
for(inti=0;i<nLen;++i)
{
data[i]^=key[i%M_LEN];
}
}


intmain()
{
chardata[]="abcdefghijklmnopqrstuvwxyz";
intdataLen=strlen(data);

constchar*key="njagrdijmdff";//字元數量等於M_LEN

encrypt(data,dataLen,key);//加密

//此時data變成加密後的數據,和原來數據等長


encrypt(data,dataLen,key);//解密,在這個簡單加密解密演算法里,加密和解密的函數是用同一個

//此時data還原為原來的數據

printf("%s",data);

return0;
}
熱點內容
如何取消安卓手機程序隱私密碼 發布:2025-05-09 21:48:03 瀏覽:47
c語言字元串數組連接 發布:2025-05-09 21:46:37 瀏覽:131
源碼的移碼 發布:2025-05-09 21:25:01 瀏覽:753
ie內核緩存 發布:2025-05-09 21:19:35 瀏覽:544
第五人格伺服器錯誤是怎麼解決 發布:2025-05-09 21:14:24 瀏覽:512
壓縮系數z 發布:2025-05-09 21:01:51 瀏覽:652
雙開助手緩存的文件在哪 發布:2025-05-09 21:01:41 瀏覽:525
酒仙腳本 發布:2025-05-09 21:00:40 瀏覽:905
牙髓存儲 發布:2025-05-09 20:50:22 瀏覽:433
安卓如何看自己去過哪裡 發布:2025-05-09 20:37:23 瀏覽:695