공부
[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