CRYPTO.MN
Анхан

Encoding, Encryption, Hashing-ийн ялгаа

Encoding, Encryption, Hashing гурвын ялгаа, ажиллах зарчим болон хэрэглээг судална. Base64 кодчилол, түлхүүр ашиглан мэдээлэл шифрлэх, SHA-256 хэш үүсгэх жишээгээр эдгээр ойлголтыг ялгаж сурна.

Зохиогч:
Turmandakh
Нийтэлсэн:
6 мин унших
Encryption, Encoding, Hashing

Encoding

Encoding нь мэдээллийг өөр формат руу хөрвүүлдэг.

Жишээ:

text
Hello

Base64:

text
SGVsbG8=

Энэ нь шифрлэлт биш.

Хэн ч Base64 decode хийгээд эх мэдээллийг гаргаж чадна.

JavaScript

JavaScript
const text = "Hello";

const encoded = Buffer.from(text).toString("base64");

console.log(encoded);

Encryption

Encryption-ийн зорилго:

мэдээллийг нууцлах.

Encryption-д түлхүүр шаардлагатай.

text
Plaintext
   +
Key
   ↓
Encryption
   ↓
Ciphertext

Ciphertext-ийг буцаахын тулд зөв түлхүүр хэрэгтэй.

Hashing

Hash function нь өгөгдлөөс тогтмол урттай утга гаргана.

text
Input
  ↓
Hash Function
  ↓
Digest

Жишээ:

text
hello

SHA-256:

text
2cf24dba5fb0a30e...

Hash нь ерөнхийдөө буцааж тайлах зориулалтгүй.

Гол ялгаа

Encoding

text
Data → Encoding → Encoded Data
            ↓
         Decode
            ↓
          Data

Түлхүүр байхгүй.

Encryption

text
Data + Key
    ↓
Encryption
    ↓
Ciphertext
    ↓
Decryption + Key
    ↓
  Data

Hash

text
Data
 ↓
Hash
 ↓
Digest

Буцаах decrypt үйлдэл байхгүй.

Ямар үед ашиглах вэ?

Base64

  • binary өгөгдлийг текст хэлбэрээр дамжуулах.

Encryption

  • нууц мэдээлэл хамгаалах.

Hash

  • integrity шалгах;
  • fingerprint үүсгэх;
  • digital signature зэрэг системийн бүрэлдэхүүн болгон ашиглах.

Бататгах асуулт

Асуулт 1/3

Encoding-ийн үндсэн зорилго юу вэ?

Энэ нийтлэл танд таалагдсан уу?