最新要闻
- 焦点热议:历史总是惊人地相似:复古主机Atari VCS宣告停产 一个时代终结
- 网友称考研民宿房费暴涨近20倍 店家:每年都一样
- 中国企业站稳全球LCD市场!李东生:TCL部分技术领先三星
- 消息!超可爱!《王者荣耀》梦奇赛年皮肤来了 特效贼棒
- 环球热讯:《王者荣耀》《合金弹头》联动:联名首发新英雄莱西奥
- 【世界播资讯】高能吸水 洁丽雅纯棉毛巾:15.9元/3条
- 今日报丨Intel显卡事业部突然解散!掌门人Raja回归首席架构师
- 全球新消息丨国内油价要止步“三连跌”!元旦后或迎新一轮价格上调
- 世界微头条丨比iPhone 14 Pro Max还轻 OPPO Find N2明天首销:7999元
- 每日时讯!入口脆甜 林家铺子乌龙茶蜜桃罐头19.9元四罐
- 今日讯!5年了 网易云音乐终于撕下了“网抑云”标签
- 全球热资讯!羊被冻死牧羊犬贴身供暖试图唤醒 网友:边牧聪明又有情
- 每日速读!山东一地120和119到路口秒变绿灯 网友:建议全国推广
- 天天看点:腾讯智能车技术花样用 数万人疯狂点赞转发
- 世界热资讯!小米史上最强!雷军确认小米13 Pro支持Wi-Fi 7:国内认证后开放
- 快报:高帧畅玩《巫师3》!满血3060游戏本华硕天选3双旦入手7599 性价比超高
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前动态:基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
1、引言
在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如《跟着源码学IM》系列、《基于Netty,从零开发IM》系列等),在这些文章中分享了各种IM通信算法原理和功能逻辑的实现。但是这样简单的IM聊天系统是比较容易被窃听的,如果想要在里面说点悄悄话是不太安全的。
(相关资料图)
怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息进行解密。是的,道理就是这样。
但密码学本身的理论就很复杂,加上相关的知识和概念又太多太杂,对于IM入门者来说,想要快速理清这些概念并实现合适的加解密方案,是比较头疼的。
本文正好借此机会,以Netty编写的IM聊天加密为例,为入门者理清什么是PKI体系、什么是SSL、什么是OpenSSL、以及各类证书和它们间的关系等,并在文末附上简短的Netty代码实示例,希望能助你通俗易懂地快速理解这些知识和概念!
补充说明:本文为了让文章内容尽可能言简意赅、通俗易懂,尽量不深入探讨各个技术知识和概念,感兴趣的读者可以自行查阅相关资料进一步学习。
学习交流:
- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》
- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK(备用地址点此)
(本文已同步发布于:http://www.52im.net/thread-4104-1-1.html)
2、相关文章
- 《即时通讯安全篇(一):正确地理解和使用Android端加密算法》
- 《即时通讯安全篇(二):探讨组合加密算法在IM中的应用》
- 《即时通讯安全篇(三):常用加解密算法与通讯安全讲解》
- 《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》
- 《即时通讯安全篇(五):对称加密技术在Android平台上的应用实践》
- 《即时通讯安全篇(六):非对称加密技术的原理与应用实践》
- 《即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术》
- 《即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术》
3、什么是PKI?
我们需要先了解一下公钥和私钥的加密标准体系PKI。
3.1 基本概念
PKI的全称是Public Key Infrastructure,是指支持公钥管理体制的基础设施,提供鉴别、加密、完整性和不可否认性服务。
通俗讲:PKI是集机构、系统(硬件和软件)、人员、程序、策略和协议为一体,利用公钥概念和技术来实现和提供安全服务的、普适性的安全基础设施。
在公钥密码中,发送者用公钥(加密密钥)加密,接收者用私钥(解密密钥)解密。公钥一般是公开的,不再担心窃听,这解决了对称密码中的密钥配送问题。但是接收者依然无法判断收到的公钥是否合法(有可能是中间人假冒的)。
事实上,仅靠公钥密码本身,无法防御中间人攻击。于是,需要(认证机构)对公钥进行签名,从而确认公钥没有被篡改。加了数字签名的公钥称为公钥证书,一般简称证书。
有了证书来认证,可以有效防御中间人攻击,随之带来了一系列非技术性工作。
例如:谁来发证书?如何发证书?不同机构的证书怎么互认?纸质证书作废容易,数字证书如何作废?解决这些问题,需要制定统一的规则,即PKI体系。
PKI体系是通过颁发、管理公钥证书的方式为终端用户提供服务的系统,最核心的元素是证书。
围绕证书构成了PKI体系的要素:
- 1)使用PKI的用户;
- 2)颁发证书的机构(Certificate Authority,CA);
- 3)保存证书的仓库。
总之:PKI是一个总称,既包括定义PKI的基础标准,也包括PKI的应用标准。
3.2 PKI体系现状
事实上PKI已经有两代了。
第一代的PKI标准主要是由美国RSA公司的公钥加密标准PKCS、国际电信联盟的ITU-T X.509、IETF的X.509、WAP和WPKI等标准组成。但是因为第一代PKI标准是基于抽象语法符号ASN.1进行编码的,实现起来比较复杂和困难,所以产生了第二代PKI标准。
第二代PKI标准是由微软、VeriSign和webMethods三家公司在2001年发布的基于XML的密钥管理规范也叫做XKMS。
事实上现在CA中心使用的最普遍的规范还是X.509系列和PKCS系列。
X.509系列主要由X.209、X.500和X.509组成,其中X.509是由国际电信联盟(ITU-T)制定的数字证书标准。在X.500基础上进行了功能增强,X.509是在1988年发布的。
X.509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。
而PKCS是美国RSA公司的公钥加密标准,包括了证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。它定义了一系列从PKCS#1到PKCS#15的标准。
其中最常用的是PKCS#7、PKCS#12和PKCS#10。PKCS#7 是消息请求语法,常用于数字签名与加密,PKCS#12是个人消息交换与打包语法主要用来生成公钥和私钥(题外话:iOS程序员对PKCS#12不陌生,在实现APNs离线消推送时就需要导出.p12证明,正是这个)。PKCS#10是证书请求语法。
4、什么是SSL?
4.1 基本概念
SSL(全称 Secure Socket Layer)安全套接层是网景公司(Netscape)率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。
通俗地说:SSL被设计成使用TCP来提供一种可靠的端到端的安全服务,它不是单个协议,而是二层协议。低层是SSL记录层,用于封装不同的上层协议,另一层是被封装的协议,即SSL握手协议,它可以让服务器和客户机在传输应用数据之前,协商加密算法和加密密钥,客户机提出自己能够支持的全部加密算法,服务器选择最适合它的算法。
SSL特点是:它与应用层协议独立无关。上层的应用层协议(例如:HTTP、FTP、Telnet等)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
4.2 与TLS的关系
SSL是网景公司(Netscape)设计,但IETF将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),其最新版本是RFC5246、版本1.2。
实际上:TLS是IETF在SSL3.0基础上设计的,相当于SSL的后续版本。所以我们通常都是SSL/TLS放一起说。
5、什么是OpenSSL?
5.1 基本概念
OpenSSL是一个开放源代码的软件库,应用程序可以使用这个包来进行安全通信,它包括代码、脚本、配置和过程的集合。例如:如果您正在编写一个需要复杂安全加密的软件,那么只有添加一个安全加密库才有意义,这样您就不必自己编写一大堆复杂的加解密函数(而且密码学本身很复杂,要写好它们并不容易)。
其主要库是以 C 语言所写成,实现了基本的加密功能,实现了 SSL 与 TLS 协议。
OpenSSL整个软件包大概可以分成三个主要功能部分:
- 1)SSL协议库;
- 2)应用程序;
- 3)密码算法库。
OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
OpenSSL 可以运行在 OpenVMS、 Microsoft Windows 以及绝大多数类 Unix 操作系统上。
5.2 具体来说
密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。
OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能。
OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#12和PKCS#8的编解码功能。
OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。
在此基础上,OpenSSL实现了对证书的X.509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。
5.3 发展历程
OpenSSL 计划在 1998 年开始,其目标是发明一套自由的加密工具,在互联网上使用。
OpenSSL 以 Eric Young 以及 Tim Hudson 两人开发的 SSLeay 为基础,随着两人前往 RSA 公司任职,SSLeay 在 1998 年 12 月停止开发。因此在 1998 年 12 月,社群另外分支出 OpenSSL,继续开发下去。
▲ 上图为 Tim Hudson
OpenSSL 管理委员会当前由 7 人组成有 13 个开发人员具有提交权限(其中许多人也是 OpenSSL 管理委员会的一部分)。只有两名全职员工(研究员),其余的是志愿者。
该项目每年的预算不到 100 万美元,主要依靠捐款。 TLS 1.3 的开发由 Akamai 赞助。
5.4 下载方法
OpenSSL可以从其官网上下载,地址是:https://www.openssl.org/source/,感兴趣的读者可以自行下载安装研究。
6、各类证书
6.1 证书类型
操作过证书的朋友可能会对各种证书类型眼花缭乱,典型的体现就是各种不同的证书扩展名上,一般来说会有DER、CRT、CER、PEM这几种证书的扩展名。
以下是最常见的几种:
- 1)DER文件:表示证书的内容是用二进制进行编码的;
- 2)PEM文件:是一个文本文件,其内容是以“ - BEGIN -” 开头的,Base64编码的字符;
- 3)CRT和CER文件:基本上是等价的,他们都是证书的扩展,也是文本文件,不同的是CRT通常用在liunx和unix系统中,而CER通常用在windows系统中。并且在windows系统中,CER文件会被MS cryptoAPI命令识别,可以直接显示导入和/或查看证书内容的对话框;
- 4)KEY文件:主要用来保存PKCS#8标准的公钥和私钥。
6.2 常用OpenSSL命令
下面的命令可以用来查看文本证书内容:
openssl x509 -incert.pem -text -noout
openssl x509 -incert.cer -text -noout
openssl x509 -incert.crt -text -noout
下面的命令可以用来查看二进制证书内容:
openssl x509 -incert.der -inform der -text -noout
下面是常见的PEM和DER相互转换。
PEM到DER的转换:
openssl x509 -incert.crt -outform der-out cert.der
DER到PEM的转换:
openssl x509 -incert.crt -inform der -outform pem -out cert.pem
补充说明:上述命令中用到的openssl程序,就是本文中提到的OpenSSL开源库提供的程序。
7、Netty中的聊天加密代码示例
7.1 关于Netty
Netty是一个Java NIO技术的开源异步事件驱动的网络编程框架,用于快速开发可维护的高性能协议服务器和客户端,事实上用Java开发IM系统时,Netty是几乎是首选。
有关Netty的介绍我就不啰嗦了,如果不了解那就详读以下几篇:
《史上最强Java NIO入门:担心从入门到放弃的,请读这篇!》
《Java的BIO和NIO很难懂?用代码实践给你看,再不懂我转行!》
《新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析》
《史上最通俗Netty框架入门长文:基本介绍、环境搭建、动手实战》
基它有关Netty的重要资料:
Netty-4.1.x 源码 (在线阅读版)
Netty-4.1.x API文档 (在线查阅版)
7.2 启动SSL Server代码示例
事实上这个标题是不对的,Netty中启动的server还是原来那个server,只是对发送的消息进行了加密解密处理。也就是说添加了一个专门进行SSL操作的Handler。
netty中代表ssl处理器的类叫做SslHandler,它是SslContext工程类的一个内部类,所以我们只需要创建好SslContext即可通过调用newHandler方法来返回SslHandler。
让服务器端支持SSL的代码:
ChannelPipeline p = channel.pipeline();
SslContext sslCtx = SslContextBuilder.forServer(...).build();
p.addLast("ssl", sslCtx.newHandler(channel.alloc()));
让客户端支持SSL的代码:
ChannelPipeline p = channel.pipeline();
SslContext sslCtx = SslContextBuilder.forClient().build();
p.addLast("ssl", sslCtx.newHandler(channel.alloc(), host, port));
netty中SSL的实现有两种方式,默认情况下使用的是OpenSSL,如果OpenSSL不可以,那么将会使用JDK的实现。
要创建SslContext,可以调用SslContextBuilder.forServer或者SslContextBuilder.forClient方法。
这里以server为例,看下创建流程。
SslContextBuilder有多种forServer的方法,这里取最简单的一个进行分析:
publicstaticSslContextBuilder forServer(File keyCertChainFile, File keyFile) {
returnnewSslContextBuilder(true).keyManager(keyCertChainFile, keyFile);
}
该方法接收两个参数:
- 1)keyCertChainFile是一个PEM格式的X.509证书文件;
- 2)keyFile是一个PKCS#8的私钥文件。
熟悉OpenSSL的童鞋应该知道使用openssl命令可以生成私钥文件和对应的自签名证书文件。
具体openssl的操作可以查看我的其他文章,这里就不详细讲解了。
除了手动创建证书文件和私钥文件之外,如果是在开发环境中,大家可能希望有一个非常简单的方法来创建证书和私钥文件,netty为大家提供了SelfSignedCertificate类。
看这个类的名字就是知道它是一个自签名的证书类,并且会自动将证书文件和私钥文件生成在系统的temp文件夹中,所以这个类在生产环境中是不推荐使用的。默认情况下该类会使用OpenJDK"s X.509来生成证书的私钥,如果不可以,则使用 Bouncy Castle作为替代。
7.3 启动SSL Client代码示例
同样的在client中支持SSL也需要创建一个handler。
客户端的SslContext创建代码如下:
// 配置 SSL.
finalSslContext sslCtx = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();
上面的代码我们使用了一个InsecureTrustManagerFactory.INSTANCE作为trustManager。
什么是trustManager呢?
当客户端和服务器端进行SSL连接的时候,客户端需要验证服务器端发过来证书的正确性。
通常情况下,这个验证是到CA服务器中进行验证的,不过这样需要一个真实的CA证书环境,所以在测试中,我们使用InsecureTrustManagerFactory,这个类会默认接受所有的证书,忽略所有的证书异常。
当然:CA服务器也不是必须的,客户端校验的目的是查看证书中的公钥和发送方的公钥是不是一致的,那么对于不能联网的环境,或者自签名的环境中,我们只需要在客户端校验证书中的指纹是否一致即可。
netty中提供了一个FingerprintTrustManagerFactory类,可以对证书中的指纹进行校验。
该类中有个fingerprints数组,用来存储安全的授权过的指纹信息。通过对比传入的证书和指纹,如果一致则校验通过。
使用openssl从证书中提取指纹的步骤如下:
openssl x509 -fingerprint -sha256 -inmy_certificate.crt
8、小结一下
上面我们对Netty聊天用到的加密技术和相关概念进行了梳理,我来简单这些概念之间的关系。
这些概念之间的关系,简单来说就是:
- 1)PKI:是一套加密体系和标准的合集,它是理论方案;
- 2)SSL:是利用了PKI理论体系,针对Socket网络这个场景设计的一套安全通信标准,属于是PKI的一个具体应用场景;
- 3)OpenSSL:是PKI体系及SSL标准的算法和代码实现,它包括了具体的开源代码、工具程序等;
- 4)各种证书:是在SSL或其它基于PKI体系的安全协议标准中需要使用的到一些加密凭证文件等。
而具体到Netty中的聊天加密,那就是应用了上述的PKI体系,基于SSL协议,在OpenSSL等开源库的帮助下实现的安全程序。
9、参考资料
[1]公钥基础设施(PKI)国际标准进展
[2]一篇文章让你彻底弄懂SSL/TLS协议
[3]什么是OpenSSL?它有什么用途
[4]OpenSSL是什么软件
[5]netty系列之对聊天进行加密
[6]跟着源码学IM
[7]基于Netty,从零开发IM
[8]TCP/IP详解(全网唯一在线阅读版)
[9]快速理解TCP协议一篇就够
[10]Netty-4.1.x 源码(在线阅读版)
[11]Netty-4.1.x API文档(在线版)
(本文已同步发布于:http://www.52im.net/thread-4104-1-1.html)
-
当前动态:基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
1、引言在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如《跟着源码学IM》系列、《基于Netty...
来源: -
JDK源码分析实战系列-PriorityBlockingQueue
前言可以通过分析PriorityBlockingQueue来了解JUC中的线程安全的队列实现的一些套路,这些套路会在JUC中...
来源: -
资讯:Altium Designer v23.0.1.38图文详解
AltiumDesigner(AD)最新安装河蟹教程,ltiumdesigner显著地提高了用户体验和效率,利用时尚界面使设计流...
来源: 当前动态:基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
JDK源码分析实战系列-PriorityBlockingQueue
资讯:Altium Designer v23.0.1.38图文详解
焦点热议:历史总是惊人地相似:复古主机Atari VCS宣告停产 一个时代终结
网友称考研民宿房费暴涨近20倍 店家:每年都一样
中国企业站稳全球LCD市场!李东生:TCL部分技术领先三星
消息!超可爱!《王者荣耀》梦奇赛年皮肤来了 特效贼棒
环球热讯:《王者荣耀》《合金弹头》联动:联名首发新英雄莱西奥
【世界播资讯】高能吸水 洁丽雅纯棉毛巾:15.9元/3条
今日报丨Intel显卡事业部突然解散!掌门人Raja回归首席架构师
全球新消息丨国内油价要止步“三连跌”!元旦后或迎新一轮价格上调
世界微头条丨比iPhone 14 Pro Max还轻 OPPO Find N2明天首销:7999元
Go 快速入门指南 - 环境安装
环球快看:什么是 HTML?
热讯:基础可视化图表之堆叠条形图
环球新动态:window系统增强优化工具
世界今热点:智创万物,数赢未来——如何助推数智时代的发展浪潮
每日时讯!入口脆甜 林家铺子乌龙茶蜜桃罐头19.9元四罐
今日讯!5年了 网易云音乐终于撕下了“网抑云”标签
全球热资讯!羊被冻死牧羊犬贴身供暖试图唤醒 网友:边牧聪明又有情
每日速读!山东一地120和119到路口秒变绿灯 网友:建议全国推广
天天看点:腾讯智能车技术花样用 数万人疯狂点赞转发
世界消息!(笔记)PID算法讲解
低代码:让企业“活”起来,赋能企业数字转型
今日要闻!大四上 | 计算机综合课设答辩经验帖
一、【Java】多线程与高并发
世界热资讯!小米史上最强!雷军确认小米13 Pro支持Wi-Fi 7:国内认证后开放
全球最资讯丨今天突然发现谷歌翻译用不了,发现是谷歌域名解析问题,现提供以下方法解决
快报:高帧畅玩《巫师3》!满血3060游戏本华硕天选3双旦入手7599 性价比超高
天天热头条丨豆瓣评分跌至6.3!《三体》动画播放量破2亿
东西生锈了是什么原因?东西生锈了怎么去除?
cbz是什么文件格式?cbz文件格式怎么打开?
快讯:创元集团的数智化实践 这次选择了和火山引擎 VeDI 搭档
大喜之日是什么意思?大喜之日祝福语
碳化硅是什么材料?碳化硅的用途有哪些?
越南十二生肖是哪些动物?越南十二生肖和中国的区别
newjeans为什么叫吴晓梅?newjeans女团成员个人资料
省略号的快捷键是什么?省略号的快捷输入方式
皮卡全面解禁再下一城!广西南宁:明年起进城无需办通行证
登陆火星4年电量即将耗尽:探测器洞察号发文告别
【新要闻】中国汽车流通协会:建议全面取消汽车限购 买车可抵税
世界百事通!如何在Word表格中拆分或合并单元格?
当前速讯:Kubernetes监控手册02-宿主监控概述
【全球新要闻】STM32 SPI DMA 源码解析及总结
全球快看点丨MySQL-带你上官网看索引
天天简讯:图算法、图数据库在风控场景的应用
热头条丨Redmi K20 Pro钉子户三年多不换机:就等卢伟冰发K60
最强性能旗舰!一加11配置公布:二代骁龙8、直接12GB+256GB起步
速读:QQ音乐iOS版12.0版发布:新增“臻品母带” 无损音质升级
“灵魂”没了!育碧确认《刺客信条:英灵殿》Steam版将无成就系统
天天观速讯丨美版《西游记》剧照公布:吴彦祖悟空、杨紫琼观音亮相
赛尔号动画片的结局是什么?赛尔号动画片精灵实力排名
流浪地球小说结局是什么?流浪地球小说经典语录
二极管如何判断正负极?二极管工作原理
世界快消息!Visual Studio Code 安装教程
Redis集群的三种方式详解(附优缺点及原理区别)
全球即时:echarts设置单位的偏移
每日速看!网约车司机一路刷抖音吓坏女乘客 司机:投诉去吧 无所谓的
天天快资讯:因收购动视暴雪 微软被美国十名玩家集体诉讼
天天视讯!气场百万 比亚迪仰望高端越野车预告:L形尾灯头次见
【独家】OPPO部分旗舰能升级到Android 17:国产手机独此一家
TCP套接字
全球即时:认证管理(锐捷无线篇)
热资讯!基于 Dubbo-Admin 实现根据请求条件路由
最新快讯!教你用Java实现动态调色板
4090也秒怂!东北网友晒NV RTX 3070显卡温度:这效果我服!
大众ID.Xtreme概念车曝光:旗下最野性的电动车
当前快讯:员工漏打卡11次被辞 法院判决:公司赔大发了
“兔圆圆”!2023年总台春晚标识和吉祥物官宣 附春晚节目单
每日速讯:网易MOBA游戏《无尽战区》宣布复活!曾于两年前停运
世界快看点丨Spring Cloud 2022 正式发布!我的天,OpenFeign 要退出历史舞台了?!
焦点快播:君子不玩物丧志,亦常以借物调心,网站集成二次元网页小组件(widget)石蒜模拟器,聊以赏玩
天天播报:让人诧异!浙江台州天上突然飘落大量羽毛:宛如鹅毛大雪
环球热文:美国动物园将归还大熊猫丫丫和乐乐 结束20年租期:曾被质疑虐待国宝
除了蔚来:大多数车企都给黑客赎金了
全球看热讯:韩国刷新世界最低生育率纪录 上学人减半:日本欧洲更慌了
天天速看:性能超RX7900 XTX!RTX 4070/4070 Ti确定:这售价给老黄买单?
焦点速读:世界最慢的PC诞生 单核跑分不到13900K的百分之一
跟着TDP配电源怎么就蓝屏了?原因揭开
环球新消息丨vue-router
每日速讯:i9-13900K史上第一次超到9GHz!液氦、零下250度
今日快讯:核显笔记本也能跑50帧夜之城!AMD这次干的好啊
环球最资讯丨RTX 40笔记本显卡全线泄露:第一次xx90、功耗达175W
【世界快播报】Intel官方“意外”走光6GHz i9-13900KS:基础功耗150W
60万粉丝女网红偷平价睡衣被抓:真相大跌眼镜
全球时讯:《泰坦尼克号》的世纪疑问 卡梅隆终于解答了:杰克和露丝没法一块活下来
2023年北美最受期待的10大电影来了
当前焦点!FreeSWITCH学习笔记:日志
每日聚焦:官方公布长征九号重型火箭!运力150吨、2030年左右首飞
【环球快播报】太阳的“脾气”突然变了!日益活跃起来:科学家们感到紧张
每日看点!央视科普:黄河源头是巴掌大的小泉眼!反差感十足
天天快播:普通人或者门外汉该怎样入门编程?
洛谷 P5401 [CTS 2019] 珍珠 题解
红魔8 Pro拥有最震撼屏占比:边框比iPhone 14 Pro更窄
世界首富也扛不住!特斯拉被曝暂停招聘 下季度新一波裁员
真卖不动了 2022年全球电视出货量仅2.02亿台:创十年新低
当前要闻:12306出现北京直达香港高铁 网友火速围观:官方客服回应
热推荐:北京多地下雪你看到没?62条公交线路临时有变
关注:充电式加热羽绒服突然火了 又一“韭菜收割机”问世?
全球观热点:一日痛失两位院士!稀土冶金专家张国成、激光技术专家赵伊君逝世