[알고리즘] SHA-256 해시 알고리즘: 개념과 활용SHA-256(Secure Hash Algorithm 256)은 SHA-2 계열의 암호학적 해시 함수 중 하나로,입력된 데이터를 256비트(32바이트)의 고정된 길이 해시 값으로 변환하는 알고리즘이다. 이 알고리즘은 강력한 보안성과 낮은 충돌 가능성을 제공하여 다양한 보안 애플리케이션에서 사용된다. SHA-256의 내부 동작 방식1) 입력 데이터 패딩 (Padding)입력 데이터의 길이를 512비트의 배수가 되도록 추가적인 비트를 붙인다.마지막 64비트는 원래 메시지의 길이를 저장한다. 2) 초기 해시 값 설정(Initial Hash Value)8개의 고정된 초기 해시 값(32비트씩 8개, 총 256비트)이 설정된다. 3) 메시지 블록 처리(Messa..
[알고리즘] DFS(깊이 우선 탐색), BFS(너비 우선 탐색) 1. 깊이 우선 탐색 (DFS, Depth-First Search) : 최대한 깊이 내려간 뒤, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동 탐색 시작 노드를 스택에 삽입하고 방문 처리를 한다. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면, 그 인접 노드를 스택에 넣고 방문 처리를 한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 위의 과정을 더이상 수행할 수 없을 때까지 반복한다. 2. 너비 우선 탐색 (BFS, Breadth-First Search) : 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동 탐색 시작 노드를 큐에 삽입하고 방문 처리를 한다. 큐에서 노드를 꺼내 해당 노드의 인접..