เมื่อเผยแพร่ APK ไปยัง App Store หรือเชื่อมต่อกับ SDK ของบุคคลที่สามบางครั้งคุณต้องให้ข้อมูลสรุปลายเซ็นของ APK คุณสามารถใช้อัลกอริทึม Digest MD5 หรือ SHA-1 เพื่อรับบทสรุปลายเซ็น นอกเหนือจากการได้รับลายเซ็น APK ของคุณเองแล้วคุณยังสามารถรับลายเซ็น APK ที่ติดตั้งอื่น ๆ บนโทรศัพท์ของคุณได้ คุณจะต้องส่งผ่านชื่อแพ็คเกจของ APK อื่น ๆ
ถ่านสุดท้ายคงที่ [] hex_char = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; / ** รับ Signature MD5 Digest*/ Public String [] SignatureDigest () {pkginfo = McOntext.getPackageManager (). getPackageInfo (mcontext.getPackagename (), packageManager.get_signatures); ความยาว int = pkginfo.signatures.length; สตริง [] digests = สตริงใหม่ [ความยาว]; สำหรับ (int i = 0; i <length; ++ i) {signature sign = mpkginfo.signatures [i]; ลอง {messageGeSest md5 = messageGeSt.getInstance ("md5"); ไบต์ [] digest = md5.digest (sign.tobytearray ()); // รับ Digest ด้วยอัลกอริทึม MD5 Digests [i] = tohexstring (Digest); } catch (nosuchalgorithmexception e) {e.printstacktrace (); digests [i] = null; }} ส่งคืน Digests; } / ** แปลงอาร์เรย์ไบต์เป็นสตริง hex ที่สอดคล้องกัน* / สตริงส่วนตัว tohexstring (byte [] rawbytearray) {char [] chars = char ใหม่ [rawbytearray.length* 2]; สำหรับ (int i = 0; i <rawbytearray.length; ++ i) {byte b = rawbytearray [i]; chars [i*2] = hex_char [(b >>> 4 & 0x0f)]; Chars [i*2+1] = hex_char [(b & 0x0f)]; } ส่งคืนสตริงใหม่ (ตัวอักษร); -ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน