sha-1

Android常见的加密算法

杀马特。学长 韩版系。学妹 提交于 2019-12-04 04:19:25
   Android中常见的加密算法按可逆不可逆分为两大类吧。   1.不可逆的算法   主要为MD5和SHA-1算法。   相同点:都是使用目前比较广泛的散列(Hash)函数,就是把任意长度的输入,变换成固定长度的输出,该输出就是散列值。计算的时候所有的数据都参与了运算,其中任何一个数据变化了都会导致计算出来的Hash值完全不同。(理论上来讲产生的密文都有可能产生碰撞)   不同点:MD5输出是128位的,SHA-1输出是160位的,MD5比SHA1运行速度快,SHA1比MD5强度高。MD5一般用于文件的校验,SHA-1主要使用于数字签名标准。   MD5使用: 1 public static String digest(String content){ 2 StringBuilder builder = new StringBuilder(); 3 try { 4 MessageDigest msgDitest = MessageDigest.getInstance("MD5"); 5 msgDitest.update(content.getBytes()); 6 byte[] digests = msgDitest.digest(); 7 //将每个字节转为16进制 8 for (int i=0;i<digests.length;i++){ 9 // TODO: 2019

git 学习笔记 —— 切换和恢复提交版本( git reset/reflog/tag 命令)

最后都变了- 提交于 2019-12-03 11:44:06
  记录一下关于 git 不同提交版本间切换的操作以及如何恢复至切换之前的版本。    切换到之前提交的版本 —— git reset --hard   笔者在使用 git 时,首先接触到了一个"黑魔法"命令 git reset --hard,通过该命令可以回退到 git 之前存在的提交。   首先通过 git log 查看各个提交历史,可以看到各个提交版本的提交信息,包括其计算得到的 SHA-1 值。 git log //查看存在的提交信息,包括其计算的 SHA-1 值,作者和简单描述   在获得目标版本的信息后,可以通过 git reset --hard 命令回退到某次 git 的提交之中。 git reset --hard 123456 //回退到 SHA-1 值开始为 123456 的提交版本,上述命令只需要对应提交的 SHA-1 值的前几位作为参数即可   注意:此命令会直接执行,而不会提示用户进行本地修改的提交等操作,所以在命令执行之前请保证所有的修改均已被妥善处置。    查看分支切换记录 —— git reflog   当使用 git reset --hard 命令从提交版本 A 回退到某个提交版本 B 后,若进行一定的任务后又需要返回提交的 A 版本时,此时通过 git log 查看提交记录可知,此时仅存在提交版本 B 之前的提交记录,而 B

git基本操作

五迷三道 提交于 2019-12-03 07:37:31
1.Git初始化 安装完成 Git后,我们需要定制 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们 Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置: 1)/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。 2)~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 --global 选项让 Git 读写此文件,常用选项。 3)当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。 设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改 git config --global user.name "zbb" #配置git使用用户 git config --global user.email "xxxx@qq.com" #配置git使用邮箱 git config --global color.ui true #语法高亮 git config --list #

Google登录的集成

匿名 (未验证) 提交于 2019-12-03 00:26:01
最近接触到海外SDK的工作,国外SDK的接入跟国内的接入有很大的区别,所以踩了不少坑,用此文章来记录一下避免以后再次踩坑,也希望对一些刚接触Google登录的小白有一些帮助。这篇文章是关于原生的集成Google登录,而不是通过Firebase来集成Google登录。 1.环境配置 2.配置自己的应用 2.3点击新建一个自己的项目,其它选项是我之前创建过的项目,默认是没有的 2.4新建项目主要是填写你的应用信息,其中要注意的是下图所示的SHA-1的值。 2.5获取SHA-1方法:打开命令窗口-->输入命令keytool-list-v-keystore mystore.keystore其中mystore.keystore为你的应用签名文件的地址。由于是测试我使用的是安卓应用的默认签名文件,所以我的完整命令为keytool -list -v -keystore C:\Users\pc\.android\debug.keystore输入之后他会提示你输入密钥库口令,默认签名的口令为android。如下图所示将会显示出你的SHA-1的值。如果使用正式签名文件请在命令中替换签名文件路径(如果此方法无法获取到的话就去百度找找其他方法吧)。 2.6按下图所示选择自己的项目然后创建API密钥 创建之后API密钥会有一个黄色的警告标志,需要点击一下API密钥1进行设置 进入到 API密钥1

密码体制(加密算法)

匿名 (未验证) 提交于 2019-12-03 00:19:01
密码体制分类方法有三种: 根据密码算法所用的密钥数量一般分为两类:非对称密码体制,对称密码体制 根据对明文信息的处理方式可将对称密码体制分为分组密码(DES、AES、IDEA、RC6)和序列密码(RC4、A5、SEAL) 根据是否能进行可逆的加密变换可以分为单项函数密码体制(MD4、MD5、SHA-1)和双向变换密码体制 对一个提供保密服务的密码系统,他的加密密钥和解密密钥相同,或者虽然不相同,但是其中一个的任意一个可以很容易的导出另外一个,那么这个系统采用的就是对称密钥体制 优点: - 加解密速度快 - 效率高 - 算法安全性高 缺点: - 密钥分发过程复杂,所花代价大 - 密钥管理量困难(实现n个用户两两保密通信,每个用户需要安全获取并保管(n-1)个密钥) - 保通信系统开放性差 - 存在数字签名的困难性(通信双方拥有相同的秘密信息,接收方可以伪造数字签名,发送方可以抵赖) DES、AES、IDEA、RC6 对一个提供保密服务的密码系统,他的加密算法和解密算法分别用不同的密钥实现,并且加密密钥不能推导出解密密钥,那么这个系统采用的就是非对称密钥体制。 每一个用户有一对密钥,用公钥加密,私钥解密 优点: - 密钥分配简单 - 密钥量少,容易管理 - 系统开放性好 - 可以实现数字签名 缺点: - 加密、解密运算复杂 - 处理速度较慢 - 同等安全强度下

google谷歌登录sdk失败错误码12500

匿名 (未验证) 提交于 2019-12-03 00:03:02
错误PlatformException(符号_INFILE,com.google.android.gms.common.api.ApiException:12500:,NULL) 此12500错误可以通过添加 支持电子邮件地址 到您的项目 项目设置。 开链 https://console.firebase.google.com/ 选择“项目和打开设置”选项卡。 提供一个有效的支持电子邮件,并重新启动您的应用程序。 检查是否将SHA-1指纹添加到Firebase项目设置中。如果没有,请使用以下方法查找sha-1指纹 https:/developers.google.com/android/Guide/Client-auth 同时,使用以下方法查找释放密钥的sha-1指纹 keytool - list - v - keystore < keystore path > 移除 <keystore path> 使用密钥存储的路径。 然后将两个SHA-1指纹添加到Firebase项目设置中。 注意:不要忘记用更新的Google-services.json替换Google-services.json,代之以新的指纹。我为此损失了两天时间。 同时调试 Android演播室自动 生成 ~/.android/debug.keystore 第一 调试生成 然后用它来签署应用程序。 若要运行sha-1

sha-1加密方法

匿名 (未验证) 提交于 2019-12-02 22:56:40
package com.itzcl; import java.security.GeneralSecurityException; import java.security.MessageDigest; import java.security.ProviderException; import org.apache.commons.codec.binary.Hex; public class Demo { public static void main(String[] args) { String password = "12345";//需要sha-1加密的密码 byte[] bytes = password.getBytes();//将密码转换为byte数组 byte[] sha1 = sha1(bytes);//调用加密方法 char[] encodeHex = Hex.encodeHex(sha1); System.out.println(new String(encodeHex));//输出结果转换 } public static byte[] sha1(byte[] data) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); md.update(data); return md

如何用谷歌浏览器导出一个https网站的数字证书

你说的曾经没有我的故事 提交于 2019-11-30 15:16:11
HTTPS加密是互联网安全建设的基础,百度、淘宝、天猫等越来越多互联网巨头启用全站HTTPS,也带动了更多网站加入HTTPS加密的行列。普通用户也逐渐明白HTTPS比HTTP更安全,访问网银、购物等重要网站时要先观察是否有HTTPS加密保护。 但是在日常访问过程中,用户可能会发现有些网站HTTPS是绿色、有些却是红色,有些显示安全锁、有些却显示叹号。由于浏览器品牌不同、版本不同,对于HTTPS安全状态的标识符号也有些不同,让不少用户有点摸不着头脑。本文汇总介绍最新版本浏览器HTTPS不同状态的显示方式。 谷歌浏览器 1、 浏览器连接安全(Conection Security)分四种状态 HTTPS相关的安全标识多种多样,但其基本状态分为以下四种,谷歌的安全标识也是基于这四种状态进行细分的。 ·有效HTTPS(EV HTTPS和普通HTTPS) ·HTTPS有小错误(安全,有小错误) ·HTTPS有大错误(无效HTTPS,确定不安全) ·HTTP 2、2016年7月最新版Chrome安全标识 基于用户研究和对浏览器面临的设计挑战的了解,谷歌提出了一组新的浏览器安全标识,用于表现有效HTTPS、HTTP不安全(“HTTPS有小错误”与“HTTP不安全”使用相同标识)、无效HTTPS不安全。 此外,还结合一组互补字符串使用,让用户更容易理解安全标识的含义。 ·对于有效HTTPS:显示