laya 怎么生成签名_app获取自己的签名

packagecom.tencent.wework.api.lcx;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;importjava.util.Iterator;importjava.util.List;importandroid.annotation.SuppressLint;importandroid.app.Activity;importandroid.content.ClipData;importandroid.content.ClipboardManager;importandroid.content.Context;importandroid.content.pm.PackageInfo;importandroid.content.pm.PackageManager;importandroid.widget.Toast;public classLcxSignature {privateActivity context;publicLcxSignature(Activity context1) {

context=context1;

}/*** 遍历包名*/

public voidgetSign() {

String paramString=context.getPackageName();

showToast("包名 = " +paramString);

PackageManager pm=context.getPackageManager();

List apps =pm.getInstalledPackages(PackageManager.GET_SIGNATURES);

Iterator iter =apps.iterator();while(iter.hasNext()) {

PackageInfo packageinfo=iter.next();

String packageName=packageinfo.packageName;if(packageName.equals(paramString)) {

showToast("签名 = " + MD5Encode(packageinfo.signatures[0].toByteArray()));

}

}

}/*** 根据包名获取签名*/@SuppressLint("NewApi")public voidgetRawSignature() {//String paramString = "com.lc.iotstandard.ht";

String paramString =context.getPackageName();

PackageManager localPackageManager=context.getPackageManager();

PackageInfo localPackageInfo;try{

localPackageInfo=localPackageManager.getPackageInfo(paramString,

PackageManager.GET_SIGNATURES);if (localPackageInfo == null) {

showToast("信息为 null, 包名 = " +paramString);return;

}

}catch(PackageManager.NameNotFoundException localNameNotFoundException) {

showToast("包名没有找到...");return;

}//String result = getSignature(paramString);

String result = MD5Encode(localPackageInfo.signatures[0].toByteArray());

showToast(result);

ClipboardManager cm=(ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);

cm.setPrimaryClip(ClipData.newPlainText(null, result));

}/*** 根据包名获取签名

* pkg: 包名*/

publicString getSignature(String pkg) {try{

PackageInfo var1;

var1=context.getPackageManager().getPackageInfo(pkg, PackageManager.GET_SIGNATURES);return MD5Encode(var1.signatures[0].toByteArray());

}catch(Throwable var2) {

}return "";

}private static String MD5Encode(byte[] toencode) {try{

MessageDigest md5= MessageDigest.getInstance("MD5");

md5.reset();

md5.update(toencode);returnHexEncode(md5.digest());

}catch(NoSuchAlgorithmException e) {

e.printStackTrace();

}return "";

}

@SuppressLint("DefaultLocale")private static String HexEncode(byte[] toencode) {

StringBuilder sb= new StringBuilder(toencode.length * 2);for (byteb : toencode) {

sb.append(Integer.toHexString((b& 0xf0) >>> 4));

sb.append(Integer.toHexString(b& 0x0f));

}returnsb.toString().toUpperCase();

}public voidshowToast(String info) {

Toast toast=Toast.makeText(context, info, Toast.LENGTH_LONG);

toast.show();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值