티스토리 뷰

공부

[Java] Sha256CipherService

승가비 2022. 8. 10. 02:10
728x90
@Service
public class Sha256CipherService {
    private String bytesToHex(byte[] bytes) {
        StringBuilder builder = new StringBuilder();
        for (byte b : bytes) {
            builder.append(String.format("%02x", b));
        }
        return builder.toString();
    }

    public String encrypt(String plain) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("SHA-256");
        md.update(plain.getBytes());

        return bytesToHex(md.digest());
    }
}
@ActiveProfiles("local")
@SpringBootTest
class Sha256CipherServiceTest {
    @Autowired
    private Sha256CipherService sha256CipherService;

    @Test
    void encrypt() throws NoSuchAlgorithmException {
        // given
        String plain = "test";
        String expected = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08";

        // when
        String actual = sha256CipherService.encrypt(plain);

        // then
        assertEquals(expected, actual);
    }
}

https://bamdule.tistory.com/233

 

[JAVA] SHA-256 암호화 하기

1. SHA-256란? SHA-256은 SHA(Secure Hash Algorithm) 알고리즘의 한 종류로서 256비트로 구성되며 64자리 문자열을 반환합니다. 해시 알고리즘 SHA-2 계열 중 하나이며, 2^256만큼 경우의 수를 만들 수 있습니다..

bamdule.tistory.com

 

728x90
댓글