1교시
어제 배운내용 복습
2교시
타원곡선
충돌가능성
타원곡선은 19세기 타원 함수론과 함께 발전하였다. 그래프의 실제 모양이 타원은 아니다. 타원과도 큰 관계는 없다.‘타원’은 타원의 둘레를 구하기 위하여 사용했던 적분 방법에서 유래했다. 주로 블록체인에서는 타원곡선 디지털서명 알고리즘 즉, ECDSA(Elliptic Curve Digital Signature Algorithm)에 대한 내용을 다룰 때 등장한다.
충돌이란 암호화 함수에 서로 다른 2개의 입력값을 넣었을 때, 동일한 출력값이 나오는 경우를 의미한다. SHA-256의 경우에는 결과물의 용량이 256비트이다. 결과는 64자리의 16진수로 표현된다. 전체 용량은 256비트 그리고 각 글자가 4비트이므로, 64자리가 나오게 된다. 즉, SHA-256의 출력값의 총 가지수는 16의 64승이다. 엄청나게 큰 숫자이기는 하지만, 같은 결과물이 나올 확률이 없는 것은 아니다.
비트코인 지갑주소 만드는 사이트
https://bitcoinpaperwallet.com
https://bitaddress.org
3교시
메타마스크 지갑 만들기
계정생성후 비밀구절, 개인키 암호화해서 저장하는 방법
https://encode-decode.com/des-encrypt-online/
https://www.devglan.com/online-tools/rsa-encryption-decryption
4교시
git commit 한 내용 되돌리는 방법
5교시
홈페이지에 명언 추가하기
로컬스토리지
로컬스토리지에 내용 저장하고 불러오는 방법
function getQuotes() {
const quotesMsg = document.querySelector(".quotesMsg");
let savedQuotes = localStorage.getItem(QUOTES);
if (!savedQuotes) {
localStorage.setItem(QUOTES, "열심히 살아봅시다.");
savedQuotes = localStorage.getItem(QUOTES);
}
quotesMsg.innerText = savedQuotes;
}
getQuotes();
1.배열을 만든다
2.let b = JSON.stringify(a); 배열을 문자열화 한다.
3.let c = JSON.parse(b); 문자열을 파싱하여 다시 배열로 만든다.
6교시
배열내에 있는 정보 랜덤하게 가져오기
let quotesArray = JSON.parse(savedQuotes);
quotesMsg.innerText =
quotesArray[Math.floor(Math.random() * quotesArray.length)];
7교시
실시간으로 배열에 명언추가해서 화면에 나오게 하기
function onClickRegist() {
const quotesMsg = document.querySelector(".quotesMsg");
const newQuotes = document.querySelector(".newQuotes");
const newQuotesInput = document.querySelector(".newQuotesInput");
if (!newQuotesInput.value) {
return;
}
let savedQuotes = localStorage.getItem(QUOTES);
let quotesArray = JSON.parse(savedQuotes);
quotesArray.push(newQuotesInput.value);
localStorage.setItem(QUOTES, JSON.stringify(quotesArray));
quotesMsg.innerHTML = `<span style="color:red;">${newQuotesInput.value}<span/>`;
newQuotes.style.display = "none";
newQuotesInput.value = "";
}
8교시
회고팀과 회고 시간 가지기