본문 바로가기

JAVA/Java10

[Java] 에서 SHA-256 암호화 하기 SHA-256 암호화 예를들어 회원가입시 입력한 암호는 기본적으로 암호화 하여 저장을 하는것이 좋은데 일반적으로는 수많은 암호화 방식중에 가장 대중적인 SHA(Secure Hash Algorithm)를 많이 사용합니다. SHA는 현재 SHA-1, SHA-2계열이 주로 사용되며 SHA-2계열은 다시 세부적으로 SHA-224, SHA-256, SHA-384, SHA-512로 구분되어 지는데 그중에서 SHA-256이 가장 보편화 되어 사용되고 있습니다. 이 포스팅에서는 JAVA에서 SHA-256으로 암호화하는 코드에 대하여 알아볼 예정이며 당연한 이야기이지만 해시로 한번 암호화한 문자는 복호화가 불가능합니다. 1. 암호화 코드 public static String EncBySha256(String data) .. 2020. 1. 11.
[Java] 자바 Random함수 사용방법, 무작위 숫자 생성 [1] 들어가며 개발을 하다보면 무작위로 숫자출 추출할 일이 필요합니다. Java에서는 Random이라는 함수를 통해서 무작위 숫자를 추출할 수 있습니다. 아래에서 보여드릴 코드를 통해 랜덤함수를 이용하여 무작위 숫자를 출력하며 범위는 어떻게 설정하는지 그리고 음수를 포함한 랜덤한 숫자는 어떻게 추출하는지 알아보겠습니다. [2] Random함수 사용방법 아마도 아래 코드를 살펴보시면 쉽게 사용하실 수 있으실거라 생각됩니다. package test; public class mainClass { public static void main(String[] args) { int r; r = (int)(Math.random() * 3); // 0 ~ 2 중에 랜덤한 숫자 출력 System.out.println(".. 2019. 7. 28.
[Java] 자바 HashMap 사용방법 [1] MapHash 이란? 자바에서 Map이란 배열이나 리스트와는 다르게 key : value로 정리되는 자료형입니다. 리스트의 경우 몇번째 리스트의 자료를 사용하겠다고 선언하는 반면에 Map에서는 key값을 선택하면 해당 key값에 대한 value값을 리턴합니다. map은 put, get, containskey, remove, size함수를 사용하는데 아래에서 해당 함수의 사용방법에 대하여 알아보겠습니다. [2] Put put함수는 map에 데이터를 집어 넣을때 사용하는 함수입니다. 아래 코드를 통해서 살펴보겠습니다. package test; import java.util.HashMap; public class mainClass { public static void main(String[] args).. 2019. 7. 28.
[Java] 자바 배열의 선언 및 초기화 방법 [1] 배열이란? 이 포스팅에서는 배열에 대해서 알아보겠습니다. 자바에서 특정 데이터를 보관하기 위해서 int나 String과 같은 다양한 형태로 저장이 가능하지만 여러개의 데이터를 한번에 보관하기에는 적절하지가 않습니다. 예를들어 요일을 저장하고 싶다면 기존의 방법으로는 String을 7개나 만들어줘야 합니다. 하지만 배열을 이용하여 만들경우 1개의 String타입 배열로 월, 화, 수, 목, 금, 토, 일요일 모두를 한곳에 저장할 수 있습니다. 그렇다면 배열은 어떻게 선언하고 사용하는지에 대해서 살펴보겠습니다. [2] 배열의 선언 아래의 코드는 배열을 선언하는 방법입니다. package test; public class mainClass { public static void main(String[] .. 2019. 7. 28.
[Java] 자바 접근제어자 (Access Modifier) Public, private, default, protected 사용법 [1] 들어가며 자바에는 Public, Private, Default, Protected와 같이 4가지의 접근제어자가 있습니다. 접근제어자는 자바의 Class나 함수 혹은 변수앞에 붙어 이들에 대한 접근 권한을 설정합니다. 예를들어 함수나 변수의 선언부 앞에 private가 붙은 변수나 함수는 자신이 속한 같은 클래스 내에서만 접근이 가능합니다. 자세한 내용은 아래에서 다루어 보도록 하겠습니다. [2] Public 첫번째로 살펴볼 접근제어자는 Public입니다. 가장 접근권한이 낮아서 어디서든 접근이 가능한 접근제어자라고 보시면됩니다. public으로 설정된 메소드(함수)나 변수는 다른 어떤 class에서도 접근이 가능합니다. 아래 코드를 보시면 main2클래스 소속의 public static int n.. 2019. 7. 27.
[Java] 자바 메소드(method) 함수의 생성과 선언 후 사용법 [1] 들어가며 자바에서는 함수를 어떠한 작업을 실행합니다. 아니, 모든 작업은 함수 안에서 실행됩니다. 또 함수는 다른 함수를 호출해서 함수안에서 함수를 사용할 수 있고, 다른 클래스에 위치한 함수도 가져다 사용할 수 있습니다. 이 게시글에서는 함수를 어떻게 만들고 만들어진 함수를 선언하여 어떻게 사용하는지에 대해 알아보겠습니다. [2] 함수의 생성 아래의 코드는 가장 기본적인 함수의 형태입니다. main함수는 기본함수이니 제외하고 아래에 있는 test함수를 살펴보면 다음과 같습니다. 함수의 접근제어자 : public Static 함수 여부 : Static 함수임 함수의 이름 : test 리턴타입 : void(리턴 값 없음) 파라메타 : 없음 public 함수 이기 때문에 이 함수는 다른 클래스에서도 .. 2019. 7. 27.
[Java] 자바 클래스(class)와 객체(object) 생성하여 사용하기 [1] 들어가며 자바는 객체지향프로그래밍 언어 입니다. 따라서 객체를 모르고서는 Java를 코딩한다는 것은 불가능하다고 볼 수 있습니다. 이렇게 중요한 객체는 먼저 Class를 만들고 이렇게 만들어진 클래스를 사용하고자 할때 객체로 만들어서 사용하는데요 이 포스팅에서는 클래스를 어떻게 만들고 또 객체는 어떻게 만들어서 사용하는지에 대해 알아보겠습니다. [2] Class생성 아래의 코드는 mainClass.java파일에서 mainClass와 main2라는 이름으로 클래스를 생성한 모습입니다. 보시는 바와 같이 java파일 내에는 class를 한개가 아니라 여러개 생성할 수 있습니다. 다만 여기서 주의해야할 점은 - public class는 java파일당 한개만 선언이 가능합니다. - public class.. 2019. 7. 27.
<JAVA>메모리 사용용량 체크하기 자바 개발을 하다 보면은 내가 작성한 코드가 어느정도의 메모리를 사용하는지 확인해 보고 싶은 상황이 있다. 이때 사용하는 메모리양을 체크할 수 있는 코드를 작성해 보았다. 참고로 기본으로 리턴되는 메모리 용량단위는 byte이다. package main; public class MainClass { public static void main(String[] args) { // Garbage Collection으로 메모리 초기화 System.gc(); // 실행전 메모리 사용량 조회 long before = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); // 측정하고싶은 코드 int j = 0; for(int i=0; i 2019. 6. 8.
<JAVA> 코드 실행 시간 측정하기 System.currentTimeMillis() 자바 개발을 하다보면은 내가 작성한 코드가 실행되는데 걸리는 시간이 궁금할 때가 있다. 이때 사용하는 함수를 알아보자. 참고로 시간의 단위는 ms이다. package main; public class MainClass { public static void main(String[] args) { long start = System.currentTimeMillis(); // 시작하는 시점 측정 // 측정하고싶은 자바 로직 작성 int j = 0; for(int i=0; i 2019. 6. 8.