IT잡학사전(EP35-38)

이태연·2023년 1월 24일
0

오늘 읽은 범위

EP35-38

기억하고 싶은 내용

EP35-해시 함수와 레인보우 테이블

1.해시 함수

  • 해시 함수는 유저가 입력한 비밀번호를 무작위 값으로 둔갑시켜 주는 역할을 한다.
  • 입력값이 아주 조금만 바뀌어도 완전히 다른 결과가 나올 정도의 무작위성을 갖고 있음.
  • 반대로 입력한다고 해서 원래 값이 나오지는 않는다.(해시 함수를 입력했다고 해서 비밀번호가 나오는건 아님)

2.레인보우 테이블

  • 레인보우 테이블은 해시 함수가 변경한 값을 원래의 값과 연결한 표.
  • 레인보우 테이블이 털리면 위험해짐.

3.솔트

  • 솔트는 아주 조그만한 무작위 텍스트.
  • 비밀번호를 무작위 텍스트인 솔트와 합쳐서 해시 함수에 통과시키면 레인보우 테이블이 있어도 원래 비밀번호를 찾을 수 없음.

EP36-37 객체 지향 프로그래밍

  • 어떤 데이터들이 같은 속성을 가지고 있을 때 그것을 하나하나 입력하는 것이 아니라 공장에서 찍는 것처럼 하는 것이 객체 지향 프로그래밍의 클래스(class)라는 개념.

  • 중복되는 걸 해결하고 싶을 때 상속을 시키면 가능. 상속을 이용하면 상속을 하는 클래스의 기본 속성을 다 가지면서 자신만의 속성을 추가할 수 있음.

EP38- 함수형 프로그래밍

  • 함수형 프로그래밍은 '버그가 발생하기 어려운 구조이다.
  • 함수형 프로그래밍에는 선언형 프로그래밍과 명령형 프로그래밍이 있다.
  • 선언형 프로그래밍은 원하는 결괏값을 선언한다.(대표적인 예 : CSS)
  • 명령형 프로그래밍은 원하는 결과값에 어떻게 도달하는지 선언한다.
  • 명령형 프로그래밍은 할 일을 세세하게 지시할 수 있는 대신 개발자가 실수하기 쉽고, 작성한 코드를 다른 사람이 이해하기 어렵다는 특징이 있음.
  • 선언형 프로그래밍은 결과 중심으로 코드를 작성하니 실수도 적고, 다른 사람이 코드를 이해하기도 쉬움.
profile
주니어 백엔드 웹 개발자입니다.

0개의 댓글