Javascript SHA256 Encrypt(자바스크립트 SHA256 암호화)

Posted by Breeze24
2017. 2. 22. 09:13 Web

앞 포스팅에서 자바를 이용해서 SHA256으로 암호화하는 방법에 대해 알아보았다. 


JAVA SHA256 Encrypt 바로가기


기본적으로 자바에서 SHA256으로 암호화하는 방법만으로도 충분하다. 하지만 SSL이 적용되어 있지 않다면 어떻게 될까?


기본적으로 웹사이트라고 하면 대부분 SSL을 적용해 놓았을 것이다. 

.

하지만 개인이 운영하는 영세한 웹사이트의 경우 SSL 비용이 아까워 적용하지 못한 경우도 있을 것이다. 아마 보유하고 있는 개인정보가 없어 SSL의 필요성을 찾지 못할 수도 있을 것이다. 


Javascript SHA256 Encrypt


만약 SSL을 적용하지 않은 상태에서 자바로만 서버단에서 SHA256으로 암호화한다면 어떻게 될까?


고객의 브라우저에서 서버로 이동할 때 암호화되지 않은 상태로 이동하다 보니 암호가 노출될 수 있다. 

브라우저에서부터 암호화되어 서버로 전송된다면 위와 같이 암호가 노출될 상황은 일어나지 않을 것이다. 


이번 포스팅에서는 자바스크립트로 SHA256 암호화하는 방법에 대해 알아보자. 


Javascript SHA256 Encrypt

아래 사이트로 이동한다. 


바로가기


사이트로 이동하면 자바스크립트 소스가 제공된다. 소스도 그리 길지는 않다.  


자바스크립트 SHA256 암호화


물론 다른 사람의 소스를 사용할 때는 라이센스를 잘 확인해야 한다. 

.

위의 라이센스 버튼을 클릭하면 라이센스가 어떻게 적용되는지 자세히 나와있다. 

소스에 나와 있는 URL만 잘 적는다면 사용에 문제는 없어보인다. 

자세한 내용은 아래 내용 또는 웹사이트에서 라이센스를 확인해보기 바란다.  


SHA256 암호화



SHA256(암호화할 문자열); 


이렇게 암호화하면 SHA256으로 암호화된 문자열을 얻을 수 있다.

.

앞 포스팅에서 자바로 암호화하는 방법에 대해 알아보았었는데, 자바에서 SHA256으로 암호화했던 값과 자바스크립트로 SHA256으로 암호화했던 값이 일치하는 것을 확인할 수 있을 것이다. 


자바스크립트 암호화

이렇게 자바스크립트로도 쉽게 SHA256으로 암호화를 할 수 있다. 

JAVA SHA256 암호화(Encrypt)

Posted by Breeze24
2017. 2. 22. 08:42 Web

개발을 하다 보면, 암호를 종종 다루어야 하는데, 암호를 저장할 때는 일방향 암호화를 해야한다. 

보통 개인정보가 들어가는 곳에 대해서는 일방향 암호화가 필수이기 때문에 암호를 저장할 때 암호를 복호화가 불가능한 일방향 암호를 이용하곤 한다. 


이번 포스팅에서는 자바에서 SHA 256으로 일방향 암호화를 하는 방법에 대해 알아보자. 


JAVA SHA256 암호화



JAVA SHA256 Encrypt


별도의 플러그인이 필요하지는 않고 자바의 secutiry 패키지에 있는 MessageDigest를 이용한 방법이다. 

.

public class Sha256Util {
	
	private Logger logger = LogManager.getLogger();
	public String encoding(String param) throws Exception{
		String result = "";
		try {
            
           MessageDigest md = MessageDigest.getInstance("SHA-256"); // SHA-256 또는 MD5  
           md.update(param.getBytes());
           byte bs[] = md.digest();
           StringBuffer sb = new StringBuffer();
           for(int i=0; i<bs.length; i++) {
               sb.append(Integer.toString((bs[i]&0xff) + 0x100, 16).substring(1));
           }
           result = sb.toString();
           logger.debug(result); // 결과물이 출력됨. aed19017dbb4d25a580b7f9e012e29be089bd1f3  //65자
       } catch(NoSuchAlgorithmException e){
           logger.error(e.toString());
           throw e;
       } catch(Exception e){
    	   logger.error(e.toString());
    	   throw e;
       }
		return result;
	}
}


위와 같이 소스를 작성하고 아래와 같이 실행하면 된다. 


JAVA SHA256 Encrypt


그렇게 하면 아래와 같은 결과가 출력된다. 

자바 SHA256 암호화

.

이렇게 하면 암호를 SHA256으로 쉽게 암호화할 수 있다. 

자바로 암호화하는 방법은 위와 같고, JAVASCRIPT로도 SHA256으로 암호화할 수 있는데, 다음 포스팅에서는 자바스크립트로 SHA256 암호화하는 방법에 대해 알아보자. 

클라이언트단에서부터 암호화가 되어 이동되기 때문에 자바로 암호화하는 것보다 더 안전할 수 있다. 


JAVASCRIPT SHA256 Encrypt

cpu의 코어, 쓰레드, 클럭의 관계 및 쓰레드 확인 방법

Posted by Breeze24
2017. 1. 15. 15:50 ETC

컴퓨터를 하나 살려고 하다 보면 제일 먼저 보이는 것이 CPU에 대한 정보이다. 

컴퓨터를 팔 때 판매자도 이 부분을 부각시키곤 한다. 

CPU에 대한 기본 정보를 볼 때 가장 먼저 보이는 것이 CPU에 대한 정보인데, 그 중 자주 등장하는 단어가 CPU 코어, 쓰레드, 클럭이다. 

코어, 쓰레드, 클럭이 CPU의 성능을 표현할 수 있는 가장 중요한 요인이기 때문에 이 부분에 대해서 가장 먼저 설명을 하곤한다. 

cpu 코어



이번 포스팅에서는 코어, 쓰레드, 클럭에 대해 알아보자. 


CPU 클럭

클럭이란 한 번의 신호 뒤에 다음 신호가 올 때까지의 간격을 말하고, 단위로는 HZ를 사용한다. 초당 몇 번의 신호가 있었느냐를 표시하는 단위이다. 

.

1초에 1번 작동하는 것을 1HZ라고 하므로, 1초에 더 많이 작동할 수록 성능이 좋은 CPU가 될 것이다. 

이 클럭이라는 것이 CPU의 성능을 나타내는 기준 중의 하나이다. 


한 때는 CPU 제조사들이 CPU 성능을 높이기 위해 클럭을 높이려고 노력했다. 

하지만 클럭이 올라갈수록 발열과 전력소비가 높아지면서 클럭수 보다는 CPU를 더 많이 장착하는 것으로 방향을 틀게 되었는데, 이 때 나오는 개념이 코어이다. 


CPU 코어

CPU 코어는 CPU 내부에서 연산을 담당하는 부분이다. CPU에는 코어 뿐만이 아니라 캐시메모리, 컨트롤러 등이 있는데, 이 중 각종 연산을 하는 CPU의 핵심적인 요소가 코어이다. 

하나의 CPU에 코어가 하나일 때를 싱글코어, 코어가 2개일 때를 듀얼 코어, 3개일 때를 트리플 코어라고하고, 점차 코어수가 증가하는 추세이다. 


CPU 쓰레드

코어는 물리적으로 나뉘어진 것이고, 쓰레드는 논리적으로 나뉜 가상 칩을 말한다. 

.

보통 듀얼 코어 4쓰레드라고 하면 물리적인 코어는 2개인데, 각 코어를 논리적으로 2개씩인 것처럼 만들어 총 4개인 코어처럼 만들었다는 말이다. 

쓰레드가 당연히 물리적인 코어보다는 성능이 떨어질 수 있겠지만 병렬로 여러개 처리가 필요한 작업을 주로 한다면 쓰레드가 많은 것이 전체 성능에서 우수할 수 있다. 


사용하는 소프트웨어 또는 게임등이 고사양이라면 쓰레드가 많은 CPU가 성능상 더 유리할 것이다. 



코어 및 쓰레드 확인하는 방법

이번에는 코어 및 쓰레드를 확인하는 방법에 대해 알아보자. 

가장 쉽게 확인하는 방법이 작업관리자에서 확인하는 방법이다. 

아래와 같이 CPU 사용 현황이 두개로 나뉘어져 있으면 2쓰레드를 의미한다. 


코어 쓰레드


윈도우 실행 창에서 msinfo32라고 치면 아래와 같은 창이 나온다. 

.

여기서 확인해보면 2코어 2논리라고 되어 있는 부분이 보일 것이다. 


쓰레드 확인 방법


이런 방법을 이용해서 CPU의 코어 수와 쓰레드 수를 확인할 수 있다.