프로그래밍/android 53

[android] 안드로이드 AES256 암호화 복호화 (feat. java)

암호화 방식이 많이 있지만, 자주 사용하는 방식중에 하나인 AES256 이다. [code] public class AES256Util { private String iv; private Key keySpec; public AES256Util(String key) throws UnsupportedEncodingException { this.iv = key.substring(0, 16); byte[] keyBytes = new byte[16]; byte[] b = key.getBytes("UTF-8"); int len = b.length; if (len > keyBytes.length) { len = keyBytes.length; } System.arraycopy(b, 0, keyBytes, 0, len);..

[kotlin] android EncryptedSharedPreferences example

전화번호나 비밀번호 등 민감한 개인정보를 로컬에 저장하기 위해서는 상용화 되어 있는 AES256이나 MD5같은 암호화 알고리즘 함수를 사용하여 SharedPreferences로 저장하거나 sqlite 또는 realm 등 로컬 db에 저장하고 꺼내오면서 사용을 했었다. 하지만 이제 그럴 필요없이 "암호화 + SharedPreferences 저장"을 한방에 해결할 수 있는 방법이 제공되었다.(제공된지 좀 되긴 했지만 ...) developer android의 내용을 먼저 읽어보길 바란다. EncryptedSharedPreferences | Android 개발자 | Android Developers EncryptedSharedPreferences public final class EncryptedSharedP..

[kotlin] 안드로이드 코틀린 두 날짜 차이 계산

'현재 지금 시각'을 기준으로 날짜 차이를 계산하는 방법이다. 예를 들어 지금 시각 today값이 2020-06-16 13:11:10 일때, 1. sampleDate값이 2020-06-14 10:12:14 라면 "2일 차이남!!" 2. sampleDate값이 2020-06-14 15:12:14 라면 "1일 차이남!!" var sampleDate = "2020-06-14 10:12:14" var sf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") var date = sf.parse(sampleDate) var today = Calendar.getInstance() var calcuDate = (today.time.time - date.time) / (60 * 60 * 24 * ..