做公司网站需要提供的资料,c2c平台二手车,西宁做网站建设公司,网站开发 性能方面在申请WPS SDK授权版时候需要开发者提供应用包名和签名#xff0c;应用包名好说#xff0c;那如何生成符合WPS要求的应用签名#xff08;SHA256)呢#xff0c;经笔者亲测#xff0c;有如下两种方式可以实现获取第三方应用签名值#xff08;SHA256#xff09; 1. 方法一应用包名好说那如何生成符合WPS要求的应用签名SHA256)呢经笔者亲测有如下两种方式可以实现获取第三方应用签名值SHA256 1. 方法一通过keytool命令查询
打开cmd命令行窗口
keytool -printcert -jarfile 安装包apk路径
如图所示 将上图标识的SHA256 内容 去掉冒号分割转换成小写即WPS SDK所需要的签名值 2 . 方法二通过代码获取签名值(工具类)
通过 getAppSignatureSHA256 方法获取签名这里得到的签名直接是WPS SDK所需要的签名值
//获取当前应用签名(SHA256)
public static String getAppSignatureSHA256(Context context){try {PackageInfo packageInfo context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);Signature[] signatures packageInfo.signatures;if (signatures ! null signatures.length 0) {for(Signature signature : signatures){return getSHA(signature.toByteArray(),SHA-256);}}} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}return null;}// Helper method to compute SHA-1 hash
private static String getSHA(byte[] input,String algorithm){try {MessageDigest md MessageDigest.getInstance(algorithm);byte[] digest md.digest(input);return toHexString(digest);
// return Base64.encode(digest);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;}private static final char[] DIGITS_LOWER {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f};//Hex.encodeHexString
private static String toHexString(byte[] data){int l data.length;char[] out newchar[l 1];// two characters form the hex value.for (int i 0, j 0; i l; i) {out[j] DIGITS_LOWER[(0xF0 data[i]) 4];out[j] DIGITS_LOWER[0x0F data[i]];}return new String(out);}
更多介绍请阅读其它WPS二次开发系列文章如果能够帮助到您请动动发财的小手来个一键三连老铁们有兴趣可以加Q群250325397吹牛摸鱼嗨起来