Android开发知识学习——编码、加密、Hash、序列化和字符集

news2024/11/15 11:01:20

文章目录

  • 学习资源来自:扔物线
  • 加密
    • 古代密码学
    • 现代密码学
      • 对称加密
      • 非对称加密
      • 密码学密钥和登录密码
      • Base64
      • URL 使用的百分号编码
      • 压缩与解压缩
      • 图片与音频、视频编解码
  • 序列化
  • Hash
  • 字符集
  • 课后题

学习资源来自:扔物线

加密

古代密码学

  • 起源:古代战争——古典密码学
  • 移位式加密:密码棒
    • 加密算法:缠绕木棒后书写
    • 密钥:木棒的尺寸规格
  • 替换式加密
    • 加密算法:替换文字
      按规则使⽤不同的⽂字来替换掉原先的⽂字来进行加密。
      码表:
原始字符:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密码字符:BCDEFGHIJKLMNOPQRSTUVWXYZA
原始书信:I love you
加密书信:J mpwf zpv
解读后:I love you

加密算法:替换⽂文字
密钥:替换的码表

现代密码学

不止可以用于文字内容,还可以用于各种二进制数据

对称加密

对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密

加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下:密文 + 解密算法 + 私钥 => 明文

在这里插入图片描述

  • 经典算法

    • DES(56 位密钥,密钥太短⽽逐渐被弃⽤)、AES(128 位、192 位、256 位密钥,现在最流行)
  • 对称加密作⽤

    • 加密通信,防⽌信息在不安全网络上被截获后,信息被人读取或篡改。
  • 对称加密(如 AES)的破解
    破解思路路

    • 拿到一组或多组原文-密文对
    • 设法找到一个密钥,这个密钥可以将这些原⽂-密文对中的原⽂加密为密文,以及将密文解密为原文的组合,即为成功破解

反破解
一种优秀的对称加密算法的标准是,让破解者找不到⽐穷举法(暴力破解法)更有效的破解手段,并且穷举法的破解时间足够长(例如数千年)。

对称加密的缺点
密钥泄露露:不能在不安全⽹络上传输密钥,一旦密钥泄露则加密通信失败。

非对称加密

使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据。

加密过程如下:明文 + 加密算法 + 公钥 => 密文,
解密过程如下:密文 + 解密算法 + 私钥 => 明文

在这里插入图片描述
使⽤非对称加密通信,可以在不可信⽹网络上将双方的公钥传给对方,然后在发消息前分别对消息使用
对方的公钥来加密和使用⾃己的私钥来签名,做到不可信网络上的可靠密钥传播及加密通信。
在这里插入图片描述
由于私钥和公钥互相可解,因此非对称加密还可以应用于数字签名技术。
在这里插入图片描述
通常会对原数据 hash 以后对 hash 签名,然后附加在原数据的后⾯作为签名。这是为了让数据更小
在这里插入图片描述
经典算法:RSA(可用于加密和签名)、DSA(仅⽤用于签名,但速度更更快)

  • 非对称加密的优缺点

    • 优点: 可以在不安全网络上传输密钥
    • 缺点: 计算复杂,因此性能相比对称加密差很多
  • 非对称加密(如 RSA、ECDSA)的破解
    破解思路

    • 和对称加密不同之处在于,非对称加密的公钥很容易获得,因此制造原⽂-密⽂对是没有困难的
    • 所以,非对称加密的关键只在于,如何找到⼀个正确的私钥,可以解密所有经过公钥加密过的密文。找到这样的私钥即为成功破解
    • 由于非对称加密的⾃身特性,怎样通过公钥来推断出私钥通常是⼀种思路(例如 RSA),但往最佳⼿段依然是穷举法,只是和对称加密破解的区别在于,对称加密破解是不断尝试⾃己的新密钥是否可以将⾃己拿到的原文-密文对进⾏加密和解密,⽽非对称加密时不断尝试⾃己的新私钥是否和公钥互相可解。

反破解
和对称加密⼀样,⾮非对称加密算法优秀的标准同样在于,让破解者找不到⽐穷举法更有效的破解⼿段,并且穷举法的破解时间⾜够长。

密码学密钥和登录密码

  • 密钥 (key)
    • 场景: 用于加密和解密
    • 目的: 保证数据被盗时不会被人读懂内容
    • 焦点: 数据
  • 登录密码 (password)
    • 场景: 用户进入网站或游戏前的身份验证
    • 目的: 数据提供方或应用服务方对账户拥有者数据的保护,保证“你是你”,的时候才提供权限
    • 焦点: 身份

Base64

将二进制数据转换成由 64 个字符组成的字符串的编码算法

  • 什么是二进制数据?
    • 广义: 所有计算机数据都是二进制数据
    • 狭义:非文本数据即二进制数据

算法
将原数据每 6 位对应成 Base 64 索引表中的一个字符编排成一个字符串 (每个字符 8 位)
Base64 索引表:
在这里插入图片描述
编码示例:把Man进行Base64编码
在这里插入图片描述
编码示例:Base64的末尾补足
在这里插入图片描述
Base64 的用途

  1. 将二进制数据扩充了储存和传输途径(例如可以把数据保存到文本文件、可以通过聊天对话框或短信形式发送二进制数据、可以在 URL 中加入简单的二进制数据)
  2. 普通的字符串在经过 Base64 编码后的结果会变得肉眼不可读,因此可以适用于一定条件下的防偷窥 (较少用)

Base64 的缺点
因为自身的原理 (6 位变 8 位),因此每次 Base64 编码之后,数据都会增大约 1/3,所以会影响存储和传输性能。

Base64 加密图片传输更安全和高效? ? ?
不。首先,Base64 并不是加密;另外,Base64 会导致数据增大 1/3,降低网络性能,增大用户流量开销,是画蛇添足的手段。 (最好不要拿来 diss 你们公司的后端哟,友善)Base64 对图片进行编码的用于在于,有时需要使用文本形式来传输图片。除此之外,完全没必要使用 Base64 对图片进行额外处理。

变种: Base58
bt币使用的编码方式,去掉了 Base64 中的数字“ 0 “,字母大写“ O ”,字母大写” I “,和字母小写” l “,以及“ + ”和“ / ”符号,用于bt币地址的表示,
Base58 对于 Base64 的改动,主要目的在于用户的便捷性。由于去掉了难以区分的字符,使得Base58 对于[人工抄写,更加方便。另外,去掉了”+”"/"号后也让大多数的软件可以方便双击选取。

URL 使用的百分号编码

在 URL 的字符串中,对一些不用于特殊用途的保留字符,使用百分号”%”为前缀进行单独编码,以避免出现解析错误。

例如,要在 http://hencoder.com/users 后面添加查询字符串,查询 name 为隐匿&伟大]的用如果直接写成 http://hencoder.com/user/?name=隐匿&伟大,"&”符号就会被解析为分隔符号、因此需要对它进行转码,转码后的 URL为 http://hencoder.com/user/?name=隐匿%26伟大

这种编码仅用于URL,目的是避免解析错误的出现

压缩与解压缩

  • 含义

    • 压缩:将数据使用更具有存储优势的编码算法进行编码。
    • 解压缩:将压缩数据解码还原成原来的形式,以⽅便使⽤。
  • ⽬的

    • 减小数据占用的存储空间

举例:
将下面的文本压缩

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

使用算法压缩后:

compress:a:1062;b:105
  • 压缩是编码吗?

    • 是。所谓编码,即把数据从一种形式转换为另一种形式。压缩过程属于编码过程,解压缩过程属于解码过程。
  • 常见压缩算法

    • DEFLATE、JPEG、MP3 等。

图片与音频、视频编解码

  • 图片的编码:把图像数据写成 JPG、PNG 等文件的编码格式

  • 图片的解码:把JPG、PNG 等文件中的数据解析成标准的图像数据

  • 含义

    • 将图像、音频、视频数据通过编码来转换成存档形式 (编码),以及从存档形式转换回来 (解码)
  • 目的

    • 存储和压缩媒体数据 (大多数媒体编码算法会压缩数据,但不是全部)
  • 图片压缩粗暴算法举例
    一张纯白 (白色的 16 进制数值为 xffffff) 的 64x64 不透明像素图片,原数据格式大致为:

width:64;height:64;ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff.......f
fffff

使用算法压缩后:

width:64;height:64;ffffff:[0,0]-[63,63]

音频与视频的编码与上面的图片编码同理

序列化

把数据对象(一般是内存中的,例如JVM 中的对象)转换成字节序列的过程。对象在程序内存里的存放形式是散乱的(存放在不同的内存区域、并且由引用进行连接),通过序列化可以把内存中的对象转换成一个字节序列,从而使用 bvte 等形式进行本地存储或网络传输,在需要的时候重新组装(反序列化)来使用

  • 反序列化:把字节序列重新转换成内存中的对象
  • 序列化:把数据对象(一般是内存中的,例如JVM 中的对象)转换成字节序列的过程
  • 目的:让内存中的对象可以被存储和传输
    序列化是编码吗?
    • 严格来说不是,序列化是jvm管理的内容,编码是将A格式变B格式

Hash

  • 定义:把任意数据转换成指定大小范围 (通常很小)的数据
  • 作用:摘要、数字指纹
  • 经典算法: MD5、SHA1、SHA256等
  • 实际用途:
    • 唯一性验证
      Java 中的 hashCode() ⽅方法。

    • 数据完整性验证

    • 快速查找:
      hashCode()和 HashMap

    • 隐私保护
      当重要数据必须暴露的时候,有事可以选择暴露它的 Hash 值 (例如 MD5),以保障原数据的安全例如网站登录时,可以只保存用户密码的 Hash 值,在每次登录验证时只需要将输入的密码的 Hash值和数据库中保存的 Hash 值作比对就好,网站无需知道用户的密码。这样,当网站数据失窃时,用户不会因为自己的密码被盗导致其他网站的安全也受到威胁

注意: 这不属于加密

  • Hash 是编码吗?
    不是。Hash 是单向过程,往往是不可逆的,无法进行逆向恢复操作,因此 Hash 不属于编码

  • Hash 是加密吗?
    不是。Hash 是单向过程,往往是不可逆的,无法进行逆向恢复操作,因此 Hash 不属于编码

字符集

含义:一个由整数向现实世界中的文字符号的 Map
分支:

  • ASCI: 128 个字符,1 字节
  • ISO-8859-1: 对 ASCII 进行扩充,1 字节
  • Unicode: 13 万个字符,多字节
    。 UTF-8: Unicode 的编码分支
    。 UTF-16: Unicode 的编码分支
  • GBK/GB2312/GB18030: 中国自研标准,多字节,字符集 +编码

课后题

  1. 【单选题】现代密码学可以加密什么数据?
    A. 文本数据
    B. 二进制数据
    C. 文本数据和二进制数据都可以

答案: C
答案解析:现代密码学可以加密的数据类型包括文本数据和二进制数据。文本数据通常是指人类可读的字符信息,例如文本文件、电子邮件等。二进制数据则是指计算机内部以0和1表示的数据,例如图片、音频、视频等。通过使用不同的加密算法和密钥,可以对这些数据进行加密和解密操作,以保护数据的机密性和完整性。因此,答案为C. 文本数据和二进制数据都可以。

  1. 【单选题】对称加密的加密与解密过程?
    A. 使用相同的密钥,相同的算法,对数据进行计算后得出的结果就是密文,之后再对密文进行计算之后得出的结果就是解密后的原数据
    B. 使用密钥和加密算法,对数据进行计算后得出的结果就是密文;使用相同的密钥,以及加密算法的逆过程,对密文进行计算之后得出的结果就是解密后的原数据
    C. 使用公钥对数据进行加密算法,计算得出的结果就是密文;使用私钥以及和加密过程同样的加密算法,对密文进行计算之后得出的结果就是解密后的原文。

答案: B
答案解析:对称加密的加密和解密过程是:使用相同的密钥和相同的算法,对数据进行加密计算,得到密文;然后使用相同的密钥和加密算法的逆过程,对密文进行解密计算,得到原始数据。因此,答案是B

  1. 【单选题】非对称加密的加密与解密过程?
    A. 使用相同的密钥,相同的算法,对数据进行计算后得出的结果就是密文,之后再对密文进行计算之后得出的结果就是解密后的原数据
    B. 使用密钥和加密算法,对数据进行计算后得出的结果就是密文;使用相同的密钥,以及加密算法的逆过程,对密文进行计算之后得出的结果就是解密后的原数据
    C. 使用公钥对数据进行加密算法,计算得出的结果就是密文;使用私钥以及和加密过程同样的加密算法,对密文进行计算之后得出的结果就是解密后的原文。

答案: C
答案解析:非对称加密的加密与解密过程是:使用公钥对数据进行加密算法,计算得出的结果就是密文;然后使用私钥以及和加密过程同样的加密算法,对密文进行解密计算,得到解密后的原文。因此,答案是C

  1. 【单选题】使用非对称加密进行数字签名的原理?
    A. 使用公钥对数据进行加密,然后使用私钥对数据进行解密。
    B. 使用私钥对数据进行加密,然后使用公钥对数据进行解密。

答案: B
答案解析:非对称加密是一种加密方法,其中有两个密钥:公钥和私钥。公钥用于加密数据,而私钥用于解密数据。数字签名是一种用于验证数据完整性和身份认证的技术,它使用了非对称加密的原理。数字签名的过程是:发送方使用私钥对数据进行加密,然后接收方使用公钥对数据进行解密,以验证数据的完整性和身份认证

  1. 【单选题】在实际运用中,为什么要用原数据的 hash 来进行数字签名?
    A. 因为直接签名会导致原数据变得不直接可读
    B. 因为如果直接对原数据进行签名,然后把签名附加在原数据的后面,会导致签名数据过大,占用传输和存储空间。
    C. 以上两点都有

答案: C
答案解析:在实际运用中,要使用原数据的哈希值来进行数字签名,而不是直接对原数据进行签名,原因有两点:

  1. 如果直接对原数据进行签名,然后把签名附加在原数据的后面,会导致签名数据过大,占用传输和存储空间。
  2. 使用哈希值进行签名可以保证原数据的完整性,因为任何微小的改变都会导致哈希值发生改变,从而使得签名无效。
  1. 【单选题】在不可信网络上直接传输对称加密的密钥,然后使用密钥来通信,会有什么风险?
    A. 会被别人拦截到密钥,然后窃听通信内容
    B. 会被别人拦截到密钥,然后篡改通信内容
    C. 以上两个都有

答案: C 答案解析:在不可信网络上直接传输对称加密的密钥,然后使用密钥来通信,会面临以下两个主要风险:

  1. 密钥被拦截:由于是在不可信网络上进行密钥传输,攻击者可能会在网络上拦截这个密钥。一旦攻击者获得了密钥,他们就能够解密之后的通信内容,从而窃听通信内容。
    2.通信内容被篡改:使用同一个密钥进行通信意味着攻击者不仅能够拦截通信内容,而且可以篡改通信内容。这是因为使用同一个密钥进行加密和解密,攻击者可以修改通信内容(例如,插入、删除或更改信息)而不改变加密和解密的结果。因此,正确答案是C
  1. 【单选题】在不可信网络上直接传输非对称加密的公钥,然后只使用对方的公钥来加密通信内容,而不是用自己的私钥来签名,有什么风险?
    A. 被别人拿到对方公钥,然后窃听通信内容
    B. 被别人拿到对方公钥,然后篡改通信内容
    C. 以上两个都有

答案: B
答案解析:在不可信网络上直接传输非对称加密的公钥,然后只使用对方的公钥来加密通信内容,而不是用自己的私钥来签名,仍然存在以下两个主要风险:

  1. 公钥被拦截:由于是在不可信网络上进行公钥传输,攻击者可能会在网络上拦截这个公钥。一旦攻击者获得了这个公钥,他们就能够解密之后的通信内容,从而窃听通信内容。
  2. 通信内容被篡改:使用对方的公钥进行加密,虽然不能直接解密内容,但攻击者仍然可以篡改通信内容。这是因为非对称加密的公钥只是用于加密,而不是用于验证信息的完整性。因此,即使通信内容被篡改,接收方也很难察觉。因此,正确答案是C

8.·【单选题】Base64 编码的本质是什么?
A. 把数据做成字符串
B. 把数据加密
C. 把数据加密并做成字符串

答案: A 答案解析:Base64 编码的本质并不是加密数据,而是将二进制数据转化为可打印的 ASCII
字符。它是一种编码方式,目的是在不考虑字符集和编码的情况下,将任意二进制数据转换为可打印的 ASCII
字符串。这样做的好处是可以方便地在不支持二进制数据的场景(例如电子邮件)中传输数据。因此,答案是A

9.【单选题】压缩与解压缩属于编码与解码吗?
A. 属于
B. 不属于

答案: A
答案解析:压缩与解压缩是一种将数据从一种格式转换为另一种格式的过程。在压缩过程中,数据被编码为一个更小的表示形式,这样可以节省存储空间或提高传输效率。解压缩则是相反的过程,将压缩的数据解码或转换回原始的形式。这两个过程可以看作是编码和解码的一种形式,因为它们涉及到将数据从一种形式转换为另一种形式。因此,答案是A

  1. 【单选题】序列化的本质是什么?
    A. 把二进制数据变成可读写的形式
    B. 把内存中的对象变成二进制形式

答案: B
答案解析:序列化的本质是把内存中的对象变成二进制形式。序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化过程中,对象被转换为二进制序列,可以保存在文件中、传输到另一个计算机或通过网络发送到另一个进程。这个二进制序列可以在需要时通过反序列化重新创建对象。因此,答案为B

  1. 【单选题】Hash 的本质是?
    A. 把数据进行一种不可逆加密
    B. 从数据中提出摘要信息
    C. 把数据变成字符串

答案: B
答案解析:Hash 的本质是从数据中提取摘要信息。Hash函数将任意长度的二进制值映射为固定长度的二进制值,这个映射的结果就是所谓的“摘要”。摘要可以看作是原始数据的“指纹”,它提供了数据的简要表示,同时保留了足够的信息以便可以进行比对和验证。这种摘要信息的提取是单向的,也就是说,一旦数据被哈希,它就不能被还原回原始数据。因此,答案为B

  1. 【多选题】Hash 的作用有:
    A. 唯一性验证:判断一个数据是否是原数据,通过对比 hash 值就可以大概率做到
    B. 数据完整性验证:从网络上下载文件后,通过 MD5 值等 hash 值来判断文件是否损坏
    C. 快速查找:在 HashMap 的实现中,使用 hash 值快速寻找目标值的内存地址
    存地址
    D. 隐私保护:将用户的密码进行 hash 计算后再保存,防止网站数据泄露后暴露用户密码

答案: A B C D
答案解析:A. 唯一性验证:判断一个数据是否是原数据,通过对比 hash 值就可以大概率做到。这个选项是正确的,因为hash 函数的输出结果具有很高的唯一性,也就是说,输入稍微变化一点,输出的 hash值就会完全不同。因此,我们可以利用这个特性来判断一个数据是否是原数据,即通过对比 hash 值来判断。
B.数据完整性验证:从网络上下载文件后,通过 MD5 值等 hash 值来判断文件是否损坏。这个选项也是正确的,因为 hash 函数可以用于检测数据的完整性。在下载文件后,我们可以计算下载的文件和源文件的 hash值,并将这两个值进行对比。如果两个值相同,那么文件就是完整的;否则,文件就可能已经损坏。
C. 快速查找:在 HashMap 的实现中,使用hash 值快速寻找目标值的内存地址。这个选项也是正确的,因为 HashMap 是一种使用 hash 表的关联式容器,它通过计算键的hash 值来定位键值对在内存中的位置。这种做法可以大大提高查找速度,使得查找操作的时间复杂度为 O(1)。
D.隐私保护:将用户的密码进行 hash 计算后再保存,防止网站数据泄露后暴露用户密码。这个选项也是正确的,因为通过对用户的密码进行 hash
计算并保存其 hash 值而不是原始密码,即使网站数据泄露,攻击者也无法直接获取到用户的密码。这是因为 hash函数是单向的,即从原始密码到 hash 值的计算是很容易的,但是从 hash 值反推出原始密码是非常困难的。因此,通过保存用户密码的hash 值而不是原始密码,可以有效地保护用户的隐私。因此,所有选项 A、B、C、D 都是正确的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1143628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信公众号如何通过迁移变更主体?

公众号迁移后原来内容还在么?通过公众号迁移,可以实现这些目的:主体变更、开通留言功能、多号合并、订阅号升级为服务号、服务号转为订阅号。公众号迁移流程:①办理公证;②提交迁移申请;③第三方审核&#…

14. 机器学习 - KNN 贝叶斯

Hi,你好。我是茶桁。 咱们之前几节课的内容,从线性回归开始到最后讲到了数据集的处理。还有最后补充了SOFTMAX。 这些东西,都挺零碎的,但是又有着相互之间的关系,并且也都蛮重要的。并且是在学习机器学习过程当中比较…

Unity点乘的实战案例1

向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。点乘,也叫数量积。结果是一个向量在另一个向量方向上投影的长度,是一个标量。 • …

JVM进阶(3)

一)什么是垃圾? 垃圾指的是在应用程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾,如果不及时的针对内存中的垃圾进行清理,那么这些垃圾对象所占用的内存空间可能一直保留到应用程序结束,被保留的空间无法…

前端开发---在vue项目中使用openLayers

前端开发之在vue项目中使用openLayers 前言效果图在vue中渲染地图安装ol插件1、调用插件2、 初始话地图3、地图点击事件4、重置坐标5、通过坐标改变视图6、保存坐标点 vue中使用的源码 前言 本篇文章主要讲解openLayers的初步使用,包括渲染地图、获取点坐标、标记点…

Data Analysis With Python

文章目录 Data Analysis With PythonAnalyzing Numerical Data with NumPyCreating NumPy ArrayNumPy Array SlicingNumPy Array BroadcastingAnalyzing Data Using Pandas In this article, we will discuss how to do data analysis with Python. We will discuss all sorts …

平衡二叉树AVL的插入删除

在AVL树的插入操作中,假设插入一个结点后,当前节点p的平衡因子是﹣2,其左子结点的平衡因子是+1,左子结点的右子结点的平衡因子是﹣1。如图所示,请给出票转调整之后的结构。

微机原理与接口技术-第八章常用接口技术

文章目录 定时控制接口8253/8254定时器定时器的应用 并行接口并行接口电路8255内部引脚工作方式工作方式0:基本输入输出方式工作方式1:选通输入输出方式 编程 并行接口的应用用8255方式0与打印机接口 数码管及其接口数码管的工作原理单个数码管的显示多个…

目录和文件操作

在自己电脑任一盘符中新建以OS_Test命名的文件夹,并在该文件夹中新建新建3个以.txt,3个 .xlsx为扩展名的文件(文件名由代码随机生成,长度为8,由字母数字组成)。,请写一个程序,删除掉…

Unity的unity_ObjectToWorld里的每一列分别代表什么意思?换个方向反向理解-更简单

官方关键UnityObjectToWorldNormal() 代码 从乐乐姐的书中得知,当我们在shader想获得法线,大概会这么些 o.wordDir UnityObjectToWorldNormal(i.normal) (这行代码就包含了官方对“unity_ObjectToWorld”的终极理解…

视频批量剪辑技巧:如何实现震撼的嵌套合并效果

随着视频制作需求的不断增长,视频批量剪辑技巧在提高制作效率和质量方面显得尤为重要。本文将介绍云炫AI智剪实现震撼嵌套合并效果的方法,帮助您在视频制作过程中更高效地完成任务。 视频批量剪辑技巧是一种利用计算机技术实现自动化视频剪辑的方法。通…

串口占用检测工具

串口占用检测工具 平时需要检测哪个程序占用了串口,下面介绍一款非常方便的工具,它的工具箱里包含一个串口占用检测工具,可以非常方便的检测出来哪个程序占用了串口,并给出程序名和PID。 官网下载地址:http://www.red…

2023枣庄麒瑞音乐嘉年华济南新闻发布会

2023枣庄麒瑞音乐嘉年华新闻发布会今日在济南市西元大厦隆重举行,演唱会主办方枣庄恒立城市发展投资有限公司副经理刘畅先生、枣庄麒瑞文化董事长孙振敏女士,演唱会冠名方滕州爱啤士精酿啤酒有限公司总经理周静女士等和国内及山东省近30家主流新闻媒体到…

命令模式——让程序舒畅执行

● 命令模式介绍 命令模式(Command Pattern),是行为型设计模式之一。命令模式相对于其他的设计模式来说并没有那么多条条框框,其实并不是一个很“规矩”的模式,不过,就是基于一点,命令模式相对于…

局域网内两台电脑共享文件夹(通过网线直连共享数据)

文章目录 2.设置共享文件夹3.访问共享文件夹 1.将两台电脑置于同一局域网下 用网线将两台电脑连接关闭两台电脑防火墙将两台电脑IP地址设置在同一局域网下 测试是否在同一局域网下,使用ping命令 ping 192.168.0.122.设置共享文件夹 选择想要共享的文件夹&#xff…

刷题学习记录

sql注入(bugkuctf) 打开显示一个登录框 照常用admin用户名登录,密码随便填一个,显示密码错误 接着用admin为用户名登录,密码照样随便填,结果显示用户名不存在 题目提示基于布尔的SQL盲注,猜测后端是判断用…

【torch高级】一种新型的概率学语言pyro(02/2)

前文链接:【torch高级】一种新型的概率学语言pyro(01/2) 七、Pyro 中的推理 7.1 背景:变分推理 引言中的每项计算(后验分布、边际似然和后验预测分布)都需要执行积分,而这通常是不可能的或计算…

静力触探数据智能预处理(4)

静力触探数据智能预处理(4) 前言 数据处理方式已由手工1.0、计算机辅助2.0向人工智能3.0的趋势发展。机器学习是人工智能的基础,本文尝试应用机器学习中K均值聚类算法对孔压静力触探数据进行土的分类,分类结果不理想&#xff0c…

buuctf_练[安洵杯 2019]easy_web

[安洵杯 2019]easy_web 文章目录 [安洵杯 2019]easy_web掌握知识解题思路代码分析正式解题 关键paylaod 掌握知识 url地址和源代码的信息捕捉;图片和base64之间转换;base64和十六进制编码的了解;代码审计,绕过正则匹配对关键字的…

简易但很实用的javaswing/gui音乐播放器

视频浏览地址 很实用的一个javaswing音乐播放器。可以展示歌名,上一曲下一曲。 源码下载地址 支持:远程部署/安装/调试、讲解、二次开发/修改/定制