Zakódování stringu   otázka

ASP.NET WebForms

Zdravím, prosím Vás, jak se ná co nejjednodušeji zakódovat nějaký string?? třeba aby místo string="neco" bylo string="WlvSpv0d56" a zase odkódovat?

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co třeba hashovat pomocí MD5?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hashovat ne, tazatel z něj potřebuje zase nazpátek vytáhnout původní hodnotu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K čemu to kódování potřebujete? Chcete ten řetězec dát do URL a nechcete, aby tam vadily háčky a čárky, nebo to potřebujete nějak zašifrovat, aby si to nikdo nemohl přečíst? Nebo vám stačí, když to běžný uživatel na první pohled nebude umět rozkódovat? Jakou úroveň zabezpečení požadujete? Kde to vůbec používáte?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Potřebuji uložit hodnotu do query stringu, a potom tu hodnotu opět našíst, ale aby uživatel neviděl, co tam je uloženo

Například: default.aspx?pozdrav=ahoj bylo default.aspx?pozdrav=c6x9V6ds0c3

nahlásit spamnahlásit spam 0 odpovědětodpovědět

pokud nejde o žádnou kritickou informaci a jenom chcete, aby se uživateli nezobrazil text a aby v URL nevadily hloupé znaky, pak stačí použít kódování Base64.

' zakódování
Dim zakodovany = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(puvodniText))

' rozkódování
Dim rozkodovany = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(zakodovany))

Je nutné si uvědomit, že kódování Base64 nepracuje na úrovni znaků, ale na úrovni bajtů. Takže String je potřeba převést v nějakém kódování (rozumné je třeba UTF-8, to umí spolehlivě i znaky s diakritikou). Při kódování řetězce ho tedy nejprve zkonvertujeme na bajty v kódování UTF-8 a pak na to zavoláme Base64. Při dekódování zase Base64 získáme bajty a z nich potom řetězec.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky moc

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud jde skutečně o šifrování, tak s pomocí tříd z balíku System.Security.Cryptography. Návodů najdete na webu tuny.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nepostačilo by BASE64? No jo, to jsou vlastně bity že?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback