查看获取MD5和SHA1值具体操作方式链接

查看获取MD5和SHA1值实际操作命令CMD语句:

C:\Users\Administrator>cd .android

C:\Users\Administrator\.android>keytool -list -v -keystore debug.keystore
输入密钥库口令: (默认密码:android。此处输入android就可以)
密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: androiddebugkey
创建日期: 2018-3-21
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: C=US, O=Android, CN=Android Debug
发布者: C=US, O=Android, CN=Android Debug
序列号: 1
有效期为 Wed Mar 21 22:58:48 CST 2018 至 Fri Mar 13 22:58:48 CST 2048
证书指纹:
MD5: ********6:D5:69:A0:51:53:41:61:76:35:2B
SHA1: ************************************************ #####各自电脑的不同,此处已经被我注释
SHA256: 79:12:C0:A********6E:46:B3:77:8A:DE:FF:ED:E7:EC:7A:6E:3E:7A:FC:F0:BE:0A:B5:E5:4B
签名算法名称: SHA1withRSA
主体公共密钥算法: 1024 位 RSA 密钥
版本: 1 *******************************************
******************************************* Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore debug.keystore -destkeystore debug.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。 C:\Users\Administrator\.android>

附加:

一个简单高效的方法:在Android Studio工具中,在右侧找到菜单栏“Gradle”—>”APP名”—>“Tasks”—>“android”—>双击“signReport”即可。这时在Terminal中可以查看debug版本、resalse版本的SHA1和MD5值。

查看手机应用信息:

D:\AndroidSDK\platform-tools>adb shell pm list package -f
package:/system/priv-app/HwCamera/HwCamera.apk=com.huawei.camera
package:/data/app/so.ofo.labofo-1/base.apk=so.ofo.labofo
package:/data/app/com.liu.dance-1/base.apk=com.liu.dance
package:/system/app/HwLauncher6/HwLauncher6.apk=com.huawei.android.launcher
package:/data/app/com.android.mediacenter-2/base.apk=com.android.mediacenter
package:/system/priv-app/TelephonyProvider/TelephonyProvider.apk=com.android.providers.telephony
package:/system/app/HwInternetAudioService/HwInternetAudioService.apk=com.huawei.internetaudioservice
package:/system/app/HwCallRecorder/HwCallRecorder.apk=com.android.phone.recorder
package:/system/app/CalendarProvider/CalendarProvider.apk=com.android.providers.calendar
package:/data/app/com.huawei.health-1/base.apk=com.huawei.health
package:/data/app/com.huawei.hidisk-1/base.apk=com.huawei.hidisk
package:/system/app/HwBluetoothImport/HwBluetoothImport.apk=com.huawei.bluetooth
package:/system/priv-app/MediaProvider/MediaProvider.apk=com.android.providers.media
package:/system/app/HwThemeManager/HwThemeManager.apk=com.huawei.android.thememanager
package:/system/priv-app/HwChrService/HwChrService.apk=com.huawei.android.chr
package:/system/app/HwAppObserver/HwAppObserver.apk=com.huawei.android.nff
package:/data/app/com.qiyi.video-2/base.apk=com.qiyi.video
package:/system/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk=com.google.android.onetimeinitializer
package:/system/priv-app/WallpaperCropper/WallpaperCropper.apk=com.android.wallpapercropper
package:/system/app/HwFloatTasks/HwFloatTasks.apk=com.huawei.android.FloatTasks
package:/system/priv-app/HwIntelligent/HwIntelligent.apk=com.huawei.intelligent
package:/system/priv-app/HwMotionRecognition/HwMotionRecognition.apk=com.huawei.motionservice
package:/system/app/SmartcardService/SmartcardService.apk=org.simalliance.openmobileapi.service
package:/data/app/com.huawei.appmarket-2/base.apk=com.huawei.appmarket
package:/system/app/HwParentControl/HwParentControl.apk=com.huawei.parentcontrol
package:/system/app/HwSecureIME/HwSecureIME.apk=com.huawei.secime

读取*.db里面数据

参考文章链接

亲测可用(在此分享一个老黄历的SQLite的Huangli.db文件,文件里面包含1901~2100年的农历宜和忌信息,具体链接:https://pan.baidu.com/s/1s3I73KYX4LUy8ges4QCDPA 密码:nka0)

具体内容如下:

我们就是要在应用启动的时候读取assets目录下的数据库,然后把test.db写入SDcard的data/data/com.datab.cn路径下边。

我们首先新建一个类:SQLdm.java:

[java] view plain copy
<span style="font-size:18px;">package com.datab.cn; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream; import android.content.Context;
import android.content.res.AssetManager;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log; /**
* 这个类就是实现从assets目录读取数据库文件然后写入SDcard中,如果在SDcard中存在,就打开数据库,不存在就从assets目录下复制过去
* @author Big_Adamapple
*
*/
public class SQLdm { //数据库存储路径
String filePath = "data/data/com.datab.cn/test.db";
//数据库存放的文件夹 data/data/com.main.jh 下面
String pathStr = "data/data/com.datab.cn"; SQLiteDatabase database;
public SQLiteDatabase openDatabase(Context context){
System.out.println("filePath:"+filePath);
File jhPath=new File(filePath);
//查看数据库文件是否存在
if(jhPath.exists()){
Log.i("test", "存在数据库");
//存在则直接返回打开的数据库
return SQLiteDatabase.openOrCreateDatabase(jhPath, null);
}else{
//不存在先创建文件夹
File path=new File(pathStr);
Log.i("test", "pathStr="+path);
if (path.mkdir()){
Log.i("test", "创建成功");
}else{
Log.i("test", "创建失败");
};
try {
//得到资源
AssetManager am= context.getAssets();
//得到数据库的输入流
InputStream is=am.open("test.db");
Log.i("test", is+"");
//用输出流写到SDcard上面
FileOutputStream fos=new FileOutputStream(jhPath);
Log.i("test", "fos="+fos);
Log.i("test", "jhPath="+jhPath);
//创建byte数组 用于1KB写一次
byte[] buffer=new byte[1024];
int count = 0;
while((count = is.read(buffer))>0){
Log.i("test", "得到");
fos.write(buffer,0,count);
}
//最后关闭就可以了
fos.flush();
fos.close();
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
//如果没有这个数据库 我们已经把他写到SD卡上了,然后在执行一次这个方法 就可以返回数据库了
return openDatabase(context);
}
}
}
</span> 然后,我们在DatabActivity.java中获得数据库中的数据:
[java] view plain copy
<span style="font-size:18px;">package com.datab.cn; import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView; public class DatabActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //打开数据库输出流
SQLdm s = new SQLdm();
SQLiteDatabase db =s.openDatabase(getApplicationContext()); TextView textv = (TextView) findViewById(R.id.textv);
//查询数据库中testid=1的数据
Cursor cursor = db.rawQuery("select * from testbiao where testid=?", new String[]{"1"});
String name = null;
if(cursor.moveToFirst()){
name = cursor.getString(cursor.getColumnIndex("name"));
}
//这是一个TextView,把得到的数据库中的name显示出来.
textv.setText(name);
cursor.close();
}
}</span>

AndroidStudio 中查看获取MD5和SHA1值以及如何查看手机应用信息以及读取*.db数据库里面数据的更多相关文章

  1. AndroidStudio 中怎样查看获取MD5和SHA1值(应用签名)

    曾经在Eclipse中我们获取MD5和SHA1非常easy就找到了例如以下图所看到的: 就能够在Eclipse中看到所须要调试的MD5和SHA1.可是在AndroidStudio中我找了一圈也没有发现 ...

  2. Android Studio获取开发版SHA1值和发布版SHA1值,详细过程

    转自原文 Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法 前言: 今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘 ...

  3. 获取程序的SHA1值

    android获取程序的SHA1值 public static String getSHA1(Context context) { try { PackageInfo info = context.g ...

  4. 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。

    客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值.     无论是什么的html控件,只要加上了runat="server" ...

  5. Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法

    前言: 今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下怎样去获取这个值吧,希望对大家有帮助. 正常 ...

  6. gridview中后台获取某列的值

    下面的gridview中,获取某行某列的值(非模板页),如图所示 <asp:GridView AutoGenerateColumns="false" CssClass=&qu ...

  7. C#中WebBrowser获取页面标签class值

    由于class是JavaScript的保留关键字 所以在C#中使用GetAttribute("className")来获取hmtlElement的class值 而不是GetAttr ...

  8. android 查看MD5、sha1值命令

    cmd 进去keystore 文件所在目录 keytool -list -v -keystore xxx.keystore debug.keystore 默认目录:C:\Documents and S ...

  9. loadrunner中如何将MD5加密的值转换为大写

    上篇博客中写过如何将MD5加密,但是我们在实际的测试过程中可能需要将加密的结果进行大小写转换.我在这次的测试过程中就遇见了这样的问题, 我在测试时发现开发人员代码传的sign值是大写,而我加密出来的s ...

随机推荐

  1. 用Service实现断点下载

     整体的思路: 在下载文件时,将进度写入数据库,同一时候通知该ContentProvider的观察者更新页面,这个通知过程不要太频繁.我设置了10次,否则页面会灰常卡. 假设异常中断(网络中断或程 ...

  2. Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)

    先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...

  3. 模型标准化——预测模型标记语言(PMML)

    https://www.cnblogs.com/pinard/p/9220199.html 在机器学习用于产品的时候,我们经常会遇到跨平台的问题.比如我们用Python基于一系列的机器学习库训练了一个 ...

  4. scala编程第16章学习笔记(2)

    转换列表:toIterator, toArray,copyToArray List类的toArray方法将递归存放的列表转换为连续存放的数组 Array类的toList方法将连续存放的数组转换为递归存 ...

  5. ESP32那些事儿(六):功能开发之蓝牙及WiFi功能

    蓝牙和WIFI是ESP32的核心功能,蓝牙和wifi的共存也是esp32的独门武功,但时候后续也会发现共存的时候会有很多问题.不管怎样,蓝牙和wifi在esp-idf中有很多的例子,大家都可以参考.本 ...

  6. 第一章 Typescript 介绍

    Typescript 介绍 一.Typescript 简介 Typescript 是微软开发的 Javascript 的超集,Typescript 兼容 Javascript,可以载入 Javascr ...

  7. Windows Server 2008 R2 小技巧 (转)

    一些 Windows Server 2008 R2 的小技巧,包括启用「God Mode (上帝模式)」.添加「快速启动」工具栏.启用桌面「个性化」服务.停用「密碼複雜性」要求,对老程序员熟悉新版的 ...

  8. [leetcode]Validate Binary Search Tree @ Python

    原题地址:https://oj.leetcode.com/problems/validate-binary-search-tree/ 题意:检测一颗二叉树是否是二叉查找树. 解题思路:看到二叉树我们首 ...

  9. 如何在CentOS 7.2上创建NFS的Share,然后让Client可以访问

    讲得详细清楚明白的好文. Setting Up an NFS Server and Client on CentOS 7.2 https://www.howtoforge.com/tutorial/s ...

  10. background: inherit制作倒影、单行居中两行居左超过两行省略

    1.background: inherit;制作倒影 方法很多,但是我们当然要寻找最快最便捷的方法,至少得是无论图片怎么变化,div 大小怎么变化,我们都不用去改我们的代码. -webkit-box- ...