2015-01-15 2 views
0

에 단축이 "3TA3cATum2VMStTsnJ6DPz5Xx5JH2SoZDdevsd2WJrYapJQjcTOOQ=="는하지만 내가 원하는 암호화 및 아래의 코드는 나에게 같은 문자열을 제공합니다 작은 길이

private byte[] key={}; 
private byte[] IV={18,52,86,120,144,171,205,239}; 
public string prvtkey="!#$a54?3"; 
string strr="placeesOFPrj/modulesNamee/mypagesss/ds2.aspx"; 
key = System.Text.Encoding.UTF8.GetBytes(prvtkey); 
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
byte[] inputByteArray = Encoding.UTF8.GetBytes(strr); 
MemoryStream ms = new MemoryStream(); 
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write); 
cs.Write(inputByteArray, 0, inputByteArray.Length); 
cs.FlushFinalBlock(); 
txt.Text=Convert.ToBase64String(ms.ToArray()); 
(작은 URL과 같이 변환해야) 더 짧은 형태로 mystring(strr)를 암호화하는 것입니다
+0

정말로 암호화하거나 tinyurl과 같이 짧게 줄여야합니까? – Shai

+0

tinyurl처럼 줄 이세요. –

답변

1

무작위 짧은 문자열을 긴 문자열에 매핑하려면 데이터베이스의 종류가 필요합니다. 암호화 된 버전의 문자는 입력보다 작을 수 없기 때문에 역순으로 변환 할 수 없기 때문에 매핑을 생성하여 역순으로 사용해야합니다.

당신은 확실히 긴 문자열의 해시를 사용할 수 있고 원하는 길이로자를 수 있지만 임의의 문자열을 원하지는 않습니다. 그러나 데이터베이스 나 저장소 주위에는 방법이 없습니다.

관련 문제