这两天浏览安卓开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。...: 新功能: 支持RTL布局 支持竖向滚动 完整支持notifyDataSetChanged API的变动: FragmentStateAdapter替换了原来的 FragmentStatePagerAdapter...ViewPager2的源码不长,我们来简单分析一下。...另外和viewpager一样,viewpager2可以承载fragment,我们需要继承实现它提供的FragmentStateAdapter: public abstract class FragmentStateAdapter...不过目前viewpager2只是第一个预览版,还存在稳定性方面的问题,不建议大家引入到正式项目中来,尝尝鲜就好。
ViewPager2+Fragment操作笔记 ViewPager2简介 ViewPager2官网介绍 ViewPager2官网Samples 距离ViewPager2正式版的发布已经一年多了,目前ViewPager...; 支持DiffUitl,可以实现局部刷新; 支持RTL(right-to-left),对于一些有出海需求的APP非常有用; 支持ItemDecorator,搭配PageTransformer实现炫酷的跳转动画...; ViewPager2更多的是配合Fragment的使用,这需要借助于FragmentStateAdapter。...FragmentStateAdapter ViewPager2继承自RecyclerView,大概率FragmentStateAdapter继承自RecyclerView.Adapter: public...,供后面placeFramentInViewholder使用; gcFragments回收已经不再使用的的Fragment(对应的item已经删除),节省内存开销。
适配器的代码片段示例如下: public class MobileRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder...ViewPager2不仅支持循环适配器,同样支持翻页适配器,还是新的哦。...原先ViewPager采用的翻页适配器叫做FragmentStatePagerAdapter,而ViewPager2采用了FragmentStateAdapter,两个适配器的名称差了个“Pager”。...比如下面是采用FragmentStateAdapter的新型适配器代码例子: public class MobilePagerAdapter extends FragmentStateAdapter {...现在有了ViewPager2,搭配TabLayout便轻松多了,只要一行代码即可绑定ViewPager2与TabLayout。下面是将二者联结起来的操作步骤。
FragmentStatePagerAdapter FragmentStateAdapter addPageChangeListener registerOnPageChangeCallback 无...所以这里不再使用 PagerAdapter 而是使用了 RecyclerView.Adapter 这也是 引入RecycleView 依赖的原因所在。...每个 Fragment 内的布局更加简洁这里不再陈述 b、 逻辑 Adapter 内逻辑 package com.example.viewpager2.withRadioGroup; import androidx.annotation.NonNull...layout_width="match_parent" android:layout_height="match_parent" /> Fragment 内布局很简单,不再列举了...这里 Activity 与 RadioGroup 与ViewPager 2 连用方式 很相似的没什么可说的,不再复述。
漏洞 CVE-2016-0728 这个漏洞本身存在于Linux内核密钥管理和保存功能keyrings中。在我们详细介绍之前,先来据了解一些关于这个漏洞的背景知识。...通过这种方法,我们可以构造一个内存释放后再使用的漏洞(use-after-free)。已经有许多关于内核中内存释放后再使用的漏洞示例,接下来的步骤对于有经验的漏洞研究人员可谓轻车熟路了。...usage字段是int类型的,这也就意味着它在32和64位体系结构中的最大值是2^32。为了让usage字段溢出,我们必须让片段循环2^32次以上,才能让usage达到0。...这个类型区域会指向一个带有函数指针的用户空间结构,造成以root权限执行revoke函数指针。...这是一段代码片段演示: Commit_creds和prepare_kernel_cred函数的地址是静态的,因此可以确定每个受影响的Linux内核版本以及android设备。
但请注意,即使对于这些较简单的密钥更改场景,你也不能仅仅使用密码学。...C 是黑客自己的密钥; 从后来刚收到这两条消息的人的角度来看,他们看到 A 不再被使用,但他们不知道“用 B 替换的 A”和“用 C 替换 A”的优先级哪个更高。...她获得了一个数字记录来证明这一点,并用 xx 学院 的密钥签名。不幸的是,六个月后,xx学院 发现 Alice 存在大量抄袭行为,并撤销了她的学位。...但爱丽丝继续使用她的旧数字记录到处向各种人和机构声称她拥有学位。 这个问题怎么处理? 潜在地,证明甚至可以带有权限——例如,登录学院在线论坛的权利——而爱丽丝也可能试图不恰当地访问它。...将一些简短的数据存储上链的应用案例包括: 1、增强的秘密共享:将你的密码分成 N 个片段,其中任何 M = N-R 个片段都可以用于恢复密码,但你可以选择所有 N 个片段的内容。
在此威胁模型的宽松版本中,仅要求受害者连接到攻击者的服务器,而无需执行恶意的JavaScript代码。热点安全:热点曾经是开放和不安全的Wi-Fi网络的代名词。但是,情况已不再如此。...对于仅接受具有连续数据包编号的片段的设备,第二个片段必须具有数据包编号n + 1。为了增加这种情况的发生,攻击者可以依靠BEAST威胁模型来使客户端使用恶意JavaScript发送后台流量。...E.适用于WEP和TKIP当使用带有动态密钥更新的WEP时,还可以混合使用不同密钥加密的片段。针对Linux进行了经验验证,这表明自1997年发布以来,发现的设计缺陷就一直是Wi-Fi的一部分。...在此攻击的第一阶段,欺骗了目标客户端的MAC地址,并使用有效的凭据连接到网络(请参见上图)。这样就可以将片段注入到AP的内存中,这些片段保存在受害者的MAC地址下。...对于OpenBSD解密片段时,更多的片段标志未包含在关联的元数据中,导致除最后一个片段之外的所有片段解密均失败。最后一个片段没有设置此标志,这意味着它已成功解密,并将作为完整帧进行处理。
服务票据和带有服务票据会话密钥的结构都包含在 TGS-REP 数据包中: TGS-REP 数据包的内容 (#12) 服务票据的加密部分是在 Kerberoasting 攻击中被暴力破解的部分。...所有主体名称都带有一个称为主体名称类型的整数。 主体名称通常由“/”字符分割成一系列字符串。...这是本文的主要部分: Alberto Solino 的文章片段 简而言之,Benjamin Delpy、Ben Campbell 和 Alberto Solino 注意到主机 A 上服务 A 的服务票可能适用于主机...,而SRV01$ 帐户存在,则此名称将被视为SRV01$ 帐户的主体名称。...由于您不再需要 SPN,您可以使用新的-userfile选项仅通过用户列表请求服务票证: 使用新的 GetUserSPNs.py 按用户列表执行 Kerberoasting 该-userfile选项利用
“永恒之蓝”勒索病毒事件发生后,各大安全机构纷纷行动,对病毒样本进行收集和分析,通过将病毒源码片段与早前发现的恶意软件源码进行比对,结果显示,这次的病毒代码与之前朝鲜黑客使用的工具吻合度极高。...除了以上代码片段极具相似之外,通过对上百万条代码片段进行分析后,研究人员发现了这一勒索病毒的“基因”,该基因使用了一个非常独特的库文件,该库文件是由非常通用的“unzip 0.15 Copyright...为了增加破解难度,大多数勒索软件(如WannaCry)会为每个文件都单独生成一个AES密钥,并将密钥保存在已加密文件的头部。...然后,骇客感觉直接将AES密钥保存在文件头部太不稳当,因此要生成一对RSA的私钥与公钥,用随机生成的RSA公钥分别加密每个文件头部的AES密钥,然后将随机生成的私钥上传到骇客的服务器上,这样就骇客就可以使用服务器上的私钥分别解密出每个文件头部的...最后,骇客感觉直接将随机生成的RSA私钥保存在服务器上也不太稳当,因为服务器也可能会被入侵,因此骇客自己准备了一对原始RSA密钥,将公钥写死在勒索软件中,用自己的原始RSA公钥加密被害者机器随机生成的RSA
由于始终存在着关于 ”数据存储在哪个国家,以及谁有访问权限“ 这样的争论,因此要创建一个国际性的身份存储库是艰难的。 3. 垄断倾向 这对于中央储存库运营商来说算不上问题,但对用户来说这就是个问题了。...如果公用事业运营商获得足够的吸引力,网络效应会让它们吸收到更多用户。则公用事业运营商就能成为准垄断者。垄断职能的运行商往往会对变革产生抵触情绪。而由于缺乏竞争压力,他们滥收费用,并不再创新。...这个密钥对与用户名和密码不同,因为它是用户通过“摇骰子(随机算法)并做一些数学运算”创建出来的,而不是从第三方申请一个用户名/密码组合而得来的。 在此阶段,世界上没有其他人知道这个身份号码。...它们将是机器可读的,信息中的数字签名片段,这些片段在某段时间内是有效的。有关部门(如护照机构,医院,车管所,公安局等等)需要用数字签名对它们进行签字。...attestation_over18.png 共享这种数据对于身份提供者和接收者都是安全的。
试想一下,如果黑客操控的是家中的智能家居、或智能音箱这类带有摄像录音功能的设备,会有多么可怕的后果。 最后,利用这些漏洞,攻击者还可以实现非常复杂的黑客操作。 ?...因为这些漏洞存在于协议底层,意味着即使不接入公共网络,仅在局域网的设备也面临风险。 比如演示中的目标是一台隔绝于外网的Win7系统电脑。...该功能通过将大的帧分割成较小的片段来增加连接的可靠性。 当这样做时,属于同一帧的每个片段都使用相同的密钥进行加密。 ? 然而,接收者并不需要检查这一点,他们会重新组合使用不同密钥解密的片段。...此外,还有另一个极其常见的漏洞,接收端也从不检查收到的所有的片段是否属于同一个框架,这意味着对手可以通过混合两个不同框架的手段来伪造信息。...再想从底层协议开始改,要付出的成本和工作量不可想象。 Mathy Vanhoef专门开发出了测试工具,可以检验设备是否存在前面所说的漏洞。 还在Github上贴出了所有漏洞标识符。 ?
答案是,会加密的。 因为 URL 的信息都是保存在 HTTP Header 中的,而 HTTPS 是会对 HTTP Header + HTTP Body 整个加密的,所以 URL 自然是会被加密的。...TLS 的握手协议我相信大家都很熟悉了,我也写过很多相关的文章了: HTTPS RSA 握手解析 HTTPS ECDHE 握手解析 然后对于 HTTPS 是怎么加密 HTTP 数据的,我没有提到过。...然后很多读者以为 HTTP 数据就用对称加密密钥(TLS 握手过程中协商出来的对称加密密钥)加密后就直接发送了,然后就疑惑 HTTP 数据有没有通过摘要算法来保证完整性?...,消息被分割成多个较短的片段,然后分别对每个片段进行压缩。...与此同时,为了防止重放攻击,在计算消息认证码时,还加上了片段的编码。 再接下来,经过压缩的片段再加上消息认证码会一起通过对称密码进行加密。
Copilot 在截图和错误报告的基础上回应了至少四个建议密钥。他以“人工智能正在发出秘密”(AI is emitting secrets)为名,将其报告为一个 bug。 这些密钥是否有效?...因为这涉及到一个关键问题:Copilot 的人工智能是真的在编写代码,还是从它的训练来源中复制粘贴了一些代码片段?...这种情况很让人困惑,因为 Copilot 的常见问题指出,“由 GitHub Copilot 生成的建议,以及你在它的帮助下编写的代码,都属于你,你得对其负责”。但是一个带有属性的代码块将是例外。...最高法院宣布不再接受谷歌图书扫描案的上诉请求。 “你知道,这很有趣,很多可能在那起案件中支持谷歌的人现在(对 GitHub Copilot)感到愤怒。”...与强大的单元测试覆盖一起,对代码的仔细检查应该能够避免这一问题;但是对于粗心大意的人来说,这看起来就像是个陷阱,特别是来自于 GitHub 世界最流行的代码编辑器 Visual Studio Code
我们将结合实战代码示例,为读者呈现一套全面且实用的API安全防护策略。一、数据泄露防护1. 敏感数据加密确保在传输过程中,敏感数据(如个人身份信息、金融数据、医疗记录等)始终以加密形式存在。...使用HTTPS协议确保API通信链路的端到端加密,防止中间人攻击。对于存储在数据库中的敏感数据,采用强加密算法(如AES-256)进行静态加密,并妥善管理密钥。...生成密钥后,对敏感数据进行加密,再在需要时解密。2. 最小权限原则严格遵循最小权限原则,确保API访问仅限于所需数据。...只有携带有效JWT令牌的请求才能访问/protected端点,获取用户特定数据。3....数据脱敏与匿名化对于非必要场合下的数据展示或共享,实施数据脱敏(如替换、屏蔽、泛化)或匿名化(如差分隐私、k-匿名性)技术,降低敏感信息泄露风险。
然而,在该方法中,分子被表示为一组片段,使用由166个预先定义的子结构组成的MACCS密钥。...这种基于二进制位的分子描述符将一个分子转换为166位向量,其中每个位表示从预定义的SMARTS模式字典中提取的特征是否存在。 2.2 描述符管理 在该方法中,一个分子用MACCS密钥表示为一组片段。...双字母的单词是由每42个单个字母加上x和z组成的,这样我们就可以覆盖所有126个MACCS密钥。因此,字母片段词汇表的长度固定为126。示例产物反应物对的生成过程如图2所示。 ? 图2....尽管MACCS密钥在相似基准上的性能不佳受到了批评,但这种描述符的一个优点是,与经过散列过程的穷举生成算法获得的指纹相比,比特和子结构之间存在一一对应关系。...将预测的结构指纹序列转换为有效分子需要一个字典来查找匹配指纹的候选反应物。幸运的是,对于MACCS密钥,在转换过程中保留任何位的参考SMARTS值。
但若是使用了生物识别技术,用户便不再担心安全性的缺失。即使您的应用还是使用一次性的身份验证,也可以考虑定期进行生物特征识别,以验证是否为同一用户。验证周期的长短完全取决于开发者的设定。...这两种方法对于验证用户身份来说实际上是等同的,如何选择取决于您设计应用交互的方式。...这是因为 Keymint (或者是 Keymaster) 获取了一个带有特定 operationId 的 HardwareAuthToken (HAT)。...若不使用 CryptoObject,那么被发送到 Keymint 的 HAT 就没有 operationId,此时,Keymint 会去查找一个带有有效时间戳 (时间戳 + 密钥使用期限 > 当前时间)...总结 在本篇文章中,我们介绍了: 只有用户名 + 密码的认证方式存在问题的原因; 在应用中选择使用生物识别身份验证的原因; 不同类型应用在设计认证方式时的注意事项; 如何在启用或未启用加密的情况下调用
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。...近年来,随着计算机性能的飞速改善,加密速度不再成为限制这种加密技术发展的桎梏,因而消息摘要算法应用的领域不断增加。...摘要算法是什么(what): 摘要算法:顾名思义,就是从已有数据中抽取出一部分数据片段经过一系列复杂的计算然后糅合在一起形成的密文,摘要算法对输入数据尤其敏感,输入数据发生任何变化都会导致密文的不一致...由于生成的密文只是通过一部分数据片段计算出来的,因此摘要算法是一个不可逆的过程(也就是说不可能从已生成的密文推导出其对应的数据)。...有攻击自然就有防御 刚才的黑客之所以还能够破解用户的密码,无非就是因为他知道了我们具体的摘要算法,然后通过相同的算法,列举出我们所有密码的组合结果并保存在了自己数据库中进行匹配 。
对于它们中的每一个,我们将尝试指出它们的优点和缺点,并描述一些可能的攻击。 WEP协议 WEP作为 1997 年批准的原始 802.11 标准的一部分引入,它可能是最常用的 WiFi 安全协议。...ARP 请求(带有他的 MAC 和 AP 的 IP 地址),因此其他客户端更新他们的 ARP 表。...认证于 2004 年 9 月开始,从 2006 年 3 月 13 日起,所有新设备都必须带有 Wi-Fi 商标。...不再需要修复 nonce 和重播计数器值(导致速度稍高)。 不再有特殊的输出格式(pcap、、hccapx等)——最终数据将显示为常规的十六进制编码字符串。...路由器更新了一些设置以防止 WPS,但它们实施加密的方式仍然存在缺陷。创建真正的随机数相对困难,这是产生强加密所必需的。为了实现这一点,通常有一个函数接受“种子”并产生一个伪随机数。
是的,早期的api确实不够丰富,在某些需求的实现上显得捉襟见肘,但是google也在不断的迭代,目前为止,常见的样式都能满足。...,这个TabLayout的item左右间距都是一样的,不管标题是两个字还是四个字的,左右间距都是相等的,而实际上的效果是两个字的Tab要比四个字的Tab左右间距要大一些的,那这个效果是怎么实现的呢?...系统默认配置scrollableTabMinWidth: 72dp 在两个字和四个字的标题都存在的情况下...viewpager2 和 FragmentStateAdapter 代替。...Deprecated Switch to androidx.viewpager2.widget.ViewPager2 and use androidx.viewpager2.adapter.FragmentStateAdapter
Bleeping Computer 网站披露,MEGA 发布了一个安全更新,以解决一系列可能会暴露用户数据的严重漏洞。据悉,即使用户数据以加密形式存储,仍存在安全风险。...最近,瑞士苏黎世联邦理工学院的研究人员发现 MEGA 加密方案中存在安全漏洞,该漏洞允许他们访问用户的加密数据。2022 年 3 月 24 日,研究人员本着负责的态度向该公司报告了漏洞。...之后,通过随机过程生成主密钥,并用于后续加密密钥子集,其中主要包括 RSA 密钥对、用于聊天功能的 Curve 密钥、Ed 签名密钥和节点密钥等,每个用户的 RSA 密钥都存储在 MEGA 的服务器上,...苏黎世联邦理工学院的团队发现了一种新方法,可以进行中间人攻击,从而恢复目标 MEGA 账户的 RSA 密钥。研究人员还发布了以下概念验证视频(文中为视频部分片段截图,原视频请点击文末链接观看)。...这样的话,对于外部攻击者来说,显然是非常困难,但对于不道德的 MEGA 员工来说,就没有那么大挑战了。
领取专属 10元无门槛券
手把手带您无忧上云