목록안드로이드 (4)
It's easy, if you try
Base64 일단 Base64가 뭘까? 컴퓨터 분야에서 쓰이는 Base64란 8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이라고 한다. Encoding 은 이진데이터를 일련의 문자열로, Decoding 은 일련의 문자열을 이진데이터로 바꾸는 것이다. encodToString public static String encodeToString (byte[] input, int flags) Base64를 이용하여 byte Array 를 String으로 Encoding 할 때 이용하는 함수이다. 나는 text를 private key로 디지털 서명한 byte[] 값을 서버에 String 형식으로 보내야하기 때문에 사..
클라이언트의 Private Key로 서명한 Challenge Number를 서버로 보내 (기존 클라이언트에게 받은)Public Key 로 Verify 하는 과정 위 플로우 중 4, 6 번의 과정을 다룰 것이다. Private Key 를 이용하여 Challenge Number 에 서명하기 (4번 과정) - Client getDigitalSignature() private static final String SIGNATURE_ALGORITHM = "SHA256withRSA"; ... public String getDigitalSignature(String packageName, String text) { try{ Signature signature = Signature.getInstance(SIGNATURE..
코루틴이 뭘까 ? (Corutine) 코틀린 뿐만 아니라 파이썬, Javascript 등 여러언어에서 지원하고 있는 개념 ! 새로운 개념이 아닌 초창기부터 존재하던 개념이다. 근데 왜 지금 공부하는 걸까? 코루틴을 사용하면 비동기 처리가 너무나도 쉽게 이루어질 수 있다. 코루틴 키워드 3가지 협력형 멀티 태스킹 동시성 프로그래밍 지원 비동기 처리를 쉽게 도와줌 특징1. 협력형 멀티 태스킹 (Co + rutine) Co: 협력, 함께 라는 의미를 지니고 있다. rutine: 하나의 태스크, 함수 즉, 코루틴은 협력하는 함수이다. 여기서 rutine은 main/ sub로 나누어지는데 흔하게 볼 수 있는 main 함수와 sub 함수 같은 개념으로 이해하면 편하다. 일반 함수는 루틴에 진입점(함수 호출)과 탈출..
안드로이드 스튜디오에서 코드를 통해 해시 키를 얻어올 수 있다. "package name"에 프로젝트 패키지 네임을 넣고 실행하면 로그에 해시키가 찍힌다. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) try { // 해시키 val info = packageManager.getPackageInfo("package name", PackageManager.GET_SIGNATURES) for (signature in info.signatures) { val md = MessageDigest.getInstance("SHA") md.u..