Grokking the System Design Interview
Ask Author
Back to course home

0% completed

Vote For New Content
Hello! Why do we need to apply base64 encoding? Why is applying the MD5 algorith...

Curious Designer

Dec 9, 2021

Hello! Why do we need to apply base64 encoding? Why is applying the MD5 algorithm not enough? Thank you!

0

0

Comments
Comments
Design Gurus
Design Gurus4 years ago

The encoding is done for better readability. For example, base64 encoding , as proposed in the chapter, will ensure that our short URL can only have characters from a fixed set of 64 characters.

The hash can then be encoded for display.

C
Curious Designer4 years ago

Thank you!

F
F 3 years ago

If the concern is the readability of the character set, doesn't MD5 already limit the fixed set to 32 characters though?

V
vineetchawla19 2 years ago

A URL can be pretty big. MD5 will give us a fixed 128 bit string to base64 encode

On this page

  1. Why do we need URL shortening?

Try it yourself

Designing URL Shortener (video)

  1. Requirements and Goals of the System
  1. Capacity Estimation and Constraints
  1. System Interface Definition
  1. Create Short URL API
  1. Redirect API
  1. Analytics API
  1. URL Management API
  1. Delete Short URL API
  1. Database Design
  1. Basic System Design and Algorithm

a. Encoding actual URL

b. Generating keys offline

  1. Data Partitioning and Replication
  1. Cache
  1. Load Balancer (LB)
  1. Purging or DB cleanup
  1. Telemetry
  1. Security and Permissions