网络上有两个用户A和B,用户A想要向B发送一个4字节的整型数据,请问A应该怎么做呢?
我们想必都有过压缩和 解压缩文件的经历,当文件太大时,我们会使用文件压缩来降低文件的占用空间。比如微信上传文件的限制是100 MB,我这里有个文件夹无法上传,但是我解压完成后的文件一定会小于 100 MB,那么我的文件就可以上传了。
在当前客户端软件的更新功能,需要在每次客户端升级的时候,下载更新的内容。而客户端下载内容的多少将会决定用户的下载时长以及服务器流量费用。所以我在不断找一个算法,让客户端更新的时候下载的内容更少。在弱网环境,上传和下载的速度受限,在保证每次数据同步的完整下,让每次传输的内容更少也是我最近研究的内容
一、什么是编码解码 编码:利用特定的算法,对原始内容进行处理,生成运算后的内容,形成另一种数据的表现形式,可以根据算法,再还原回来,这种操作称之为编码。 解码:利用编码使用的算法的逆运算,对经过编码的数据进行处理,还原出原始数据,这种操作称之为解码。 二、什么是Base64编码算法 可以将任意的字节数组数据,通过算法,生成只有(大小写英文、数字、+、/)(一共64个字符)内容表示的字符串数据。 即将任意的内容转换为可见的字符串形式。 三、Base64算法的由来 以前发送邮件只支持可见字符
在前一节我们看到 , 在一个R l o g i n连接上客户一般每次发送一个字节到服务器,这就产生了一些4 1字节长的分组:2 0字节的I P首部、2 0字节的T C P首部和1个字节的数据。在局域网上,这些小分组(被称为微小分组( t i n y g r a m))通常不会引起麻烦,因为局域网一般不会出现拥塞。但在广域网上,这些小分组则会增加拥塞出现的可能。一种简单和好的方法就是采用RFC 896 [Nagle 1984]中所建议的N a g l e算法。
3DES,也称为 3DESede 或 TripleDES,是三重数据加密算法,相当于是对每个数据库应用三次DES的对称加密算法。
在密码学中,消息认证码(Message Authentication Code,简称MAC)是一种重要的安全技术,用于确保消息的完整性和身份验证。它可以防止消息在传输过程中被篡改,同时验证消息发送者的身份。在本篇博客中,我们将详细探讨两种常见的MAC算法:HmacMD5和HmacSHA1。
* 本文原创作者:zzz66686,本文属FreeBuf原创奖励计划,未经许可禁止转载 1. 引言 AES算法,即高级加密标准,在密码学中又称为Rijndael加密算法。该算法已被用来替代原先的DES算法,并在世界范围内广泛使用。需要指出的是,AES算法不仅仅在合法的场合有着广泛的运用,在各种勒索软件等恶意程序中,同样有着广泛的应用。 本文将分为三部分介绍恶意代码中的AES算法,分别是: 1.基本AES算法的逆向识别; 2.Locky勒索软件中的AES算法识别; 3.TeslaCrypt勒索软件中AES算法
本文作者戴卓嘉,拥有 10 年开发经验的数据科学家,以下是他对 Julia、R、Python 分别在字符串排序速度上的示例与对比,Python 为何会被碾压?废话不多说,马上开讲。
TCP协议作为一个可靠的面向流的传输协议,其可靠性是由流量控制和滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。
奇偶校验算法(Parity Check Algorithm)是一种简单的错误检测方法,用于验证数据传输中是否发生了位错误。通过在数据中添加一个附加的奇偶位(即校验位),来实现错误的检测和纠正。
作者介绍:augustzhang,安全平台部基础架构组员工,先后从事密保、验证码等后台研发工作,现在主要负责安全平台部大数据平台的研发工作,致力于研究每秒GB级的数据如何进行实时分析等问题。 背景 后台设计 经常会遇到空间上的问题,比如:网卡流量爆了,Cache又快满了,APP的手机流量过高等。通常情况下,一般是选择提高硬件成本的方式扩容来解决这个问题。然而,本文所提供的是另一种方式,通过牺牲少量的时间换取更高的空间利用率,以达到减少网卡流量、内存使用量的目的。 在安平的很多个系统设计中,都采用了一些数
一、哈希算法(hash)加密解密介绍 哈希,英文叫做 hash。 哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。 我们习惯把 要计算 的数据称之为 源数据, 计算后的结果数据称之为 哈希值(hash value)或者 摘要(digests)。 有好几种哈希函数,对应不同的算法, 常见有的 MD5, SHA1, SHA224, SHA256, SHA384, SHA512 哈希计算的特点是: 相同的 源数据, 采用 相同的哈希算法, 计算出来的哈希值
前面一篇文章我们讲到了DES算法。鉴于DES可以被破解和加密效率不高的缺陷。美国的NIST(National Institute of Standards and Technology,国家标准技术研究所)在2000年通过选拔,从多个候选算法中确认了Rijndael算法为最新的AES算法,成为联邦信息处理标准(FIPS)。
上周部门会议上讨论的一个议题是如何节省Redis内存空间,其中有个小伙伴提到可以从压缩字符串入手,我觉得这是一个可以尝试的思路。因为有时候我们存在Redis中的值比较大,如果能对这些大字符串进行压缩,那么节省的内存空间还是很可观的。接下来将介绍几种常见的数据压缩算法,供大家参考。
根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Congestion Control in IP/TCP internetworks(IETF RFC 896)(1984)定义,最初是用于缓冲Ford的私有TCP/IP网络拥塞情况,不过被广泛传播开来。
提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
在《实例对比 Julia, R, Python,谁是狼语言?》我们简单介绍了 Julia 的背景,以及通过优化一个似然函数的参数 μ 和 σ,来对比 Julia、R、Python 三门语言,谁更快,谁的输出更舒适。
俄乌战争已持续数周,继上一集的负载均衡话题,本集我们继续聊战争与技术的话题。今天我们聊的是导弹和Netty的关系。
DES是一种对称加密(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。一般密码长度为8个字节,其中56位加密密钥,每个第8位都用作奇偶校验。 DES算法一般有两个关键点,第一个是加密模式,第二个是数据补位,加密模式的主要意义就是,加密算法是按块进行加密的,例如 DES ,是 64Bit 一个块的进行加密,就是每次加密 8 个字节,因此每次输入八个字节的明文输出八个字节密文,如果是 16 个字节,那么分成两个块依次进行加密,
大家好!很高兴又和大家见面啦!!!在上一篇内容中我们重点介绍了时间复杂度,今天我们要介绍的是算法的另一个目标——低存储量需求,也就是算法的空间复杂度。下面我们就来了解一下什么是空间复杂度吧!
背景 OpenSSL是一个知名的开源安全套接字层密码库。全球成千上万的web服务器的网站加密技术使用OpenSSL。 网银、在线支付、电商网站、门户网站、电子邮件等互联网应用广泛使用OpenSSL实现数据的安全传输和安全存储。 历史上,OpenSSL多次出现安全漏洞。 2014年,OpenSSL爆出Heartbleed(心脏滴血)漏洞,网络出现了“致命内伤”。 心脏滴血称为互联网安全历史上最严重的漏洞之一,当时全球三分之二的网站可被该漏洞攻击。 心脏滴血漏洞的CVE编号是CVE-201
CVer 之前推送了很多渣硕(巨佬)和菜鸡(大佬)的算法面经(实习和校招),他们面试过的公司不乏谷歌、微软亚洲研究院、BAT、京东、字节跳动、商汤、旷视和大疆等公司。本文将之前推送的AI 算法面经类文章进行整理,涵盖100+份面试经验。
今天,我们继续「计算机底层知识」的探索。我们来谈谈关于「内存和磁盘关系」&「数据压缩」的相关知识点。
传输层概述 作用:传输层为它上面的应用层提供通信服务。 在OSI七层参考模型中,传输层是面向通信的最高层,也是用户功能的最底层。 传输层两大重要的功能:复用 和 分用。 复用:在发送端,多个应用进程公用一个传输层; 分用:在接收端,传输层会根据端口号将数据分派给不同的应用进程。 和网络层的区别: 网络层为不同主机提供通信服务,而传输层为不同主机的不同应用提供通信服务。 网络层只对报文头部进行差错检测,而传输层对整个报文进行差错检测。 UDP(用户数据报协议)详解 UDP的特点 UDP只在IP数
在上一篇TCP 滑动窗口原理解析文章中,我们对 TCP 的滑动窗口原理进行一次总结,也提到了流量控制和拥塞控制。
2022 年 11 月 16 日,研究人员发现 BlackBasta 勒索软件开始使用全新的样本文件。新版本的 BlackBasta 相比旧版本更新了许多代码(包括文件加密算法与库文件),拥有更低的引擎检出率。恶意样本的大部分字符串都已经经过混淆,文件名也已经随机化,这阻碍反病毒引擎与 EDR 等安全产品的检测。 技术分析 字符串混淆 与 Conti 勒索软件类似,BlackBasta 勒索软件开发人员似乎也使用了 ADVObfuscator 进行字符串混淆。如下图所示,基于栈进行构建,并且使用异
struct Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换。 struct的pack函数把任意数据类型变成bytes: >>> bs = bytes([b1,b2,b3,b4]) >>> bs b'\x00\x9c@c' pack的第一个参数是处理指令,'>I'的意思是: >表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。 后面的参数个数要和处理指令一致。 unpack把bytes变成相应的数据类型: >>> struct.unpack(
"TEA" 的全称为"Tiny Encryption Algorithm" 是1994年由英国剑桥大学的David j.wheeler发明的.
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 说到短视频特效,你或许第一时间会想到“抖音特效”。 没错,抖音的特效似乎总是火到出圈,像用一段视频让你“重返三岁”: △视频来源@赖美云 又或是1个动作就打破次元壁,PDD也变得眉清目秀: 事实上,与AI相关的特效技术,国内外也有不少APP在做,但运行到手机上后,最出圈的往往还是抖音。 同类特效,背后所用的AI技术其实是接近的,但抖音做出的特效,渲染真实、运行流畅、爆款也更多。 抖音特效常青的秘诀,究竟是什么? 只要5M,效果堪比虚幻引擎 一
假设有一个发送方在向接收方发送消息。如果没有任何加密算法,接收方发送的是一个明文消息:“我是小灰”
AES的加解密过程和DES一样,都是通过分组加密、分组解密。所谓分组加密,就是将待加解密的内容按照128位进行分组,将密钥按照128位、192位、256位进行分组,分别将分组后的明文与相应分组后的密钥进行加解密。
19.1 引言 成块数据:比如ftp、电子邮件、Usenet新闻 交互数据:Telnet、Rlogin 成块数据的报文段基本上都是满长度(full-size)的,而交互数据小的多(Telnet和Rl
消息摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。消息摘要算法也被称为哈希(Hash)算法或散列算法。
hashlib模块实现了多种安全哈希和信息摘要算法的通用接口,包括FIPS中定义的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定义的MD5
当应用加密算法时,有许多地方可能会出错。难点在于识别和分析程序员用来加密的方法,然后寻找其中的漏洞。漏洞的种类也很多,比如弱加密算法、弱密钥生成器、服务端漏洞和密钥泄露等。
参考 : 【计算机网络】传输层 : 传输层概述 ( 设备层级 | 传输层功能 | TCP 协议 | UDP 协议 | 复用与分用 | 端口号 | 套接字 )
本文作者通过分析一款设备固件,从中发现了一种新的加密方式。这种加密方式不同于以往的固定加密模式,而是采用了动态加密算法。作者通过逆向分析,还原了加密算法的设计原理,并基于此算法设计了一套通用的解密方法。同时,作者还通过模拟执行,验证了该方法的可行性和安全性。
hello,大家好! 之前给小伙伴们分享过 简历模板, 大家都下载了吗? 今天来看一份比较详细的大厂面经, 帮助大家快速熟悉面试流程, 后面给大家准备了更多优质的字节跳动面经, 下方公众号回复【字节】 即可免费领取 背 景 本人2本毕业,目前工作四年,一直是Java。 做的都是些二线公司,没做过一线。四年跳了三家公司。在家休息了几个月, 五月中旬开始面试。 由于跳槽过多而且已经是淡季的原因。内推的我的字节哥们儿,推了不知道多少个部门,从字节海外电商推到教育线简历都由于频繁跳槽都挂了。最后才被广告营销捞
本人2本毕业,目前工作四年,一直是Java。做的都是些二线公司,没做过一线。四年跳了三家公司。在家休息了几个月,五月中旬开始面试。
不管是散列还是哈希,这都是中文翻译的差别,英文其实就是 “Hash” 。所以,我们常听到有人把 “散列表 ” 叫作 “哈希表”“Hash 表 ” ,把 “哈希算法 ” 叫作 “Hash 算法” 或者 “散列算法 ” 键转换成索引,同时键通过哈希函数得到的索引分布越均匀越好。
SSL/TLS层在网络模型的位置,它属于应用层协议。接管应用层的数据加解密,并通过网络层发送给对方。
在计算机程序编写前,依据统计方法对算法进行估算,经过总结,我们发现一个高级语言编写的程序程序在计算机上运行所消耗的时间取决于下列因素:
大家好,湿兄又来吹牛逼了 因为最近需要将任意格式、任意大小的文件进行 Base64 编码存储,所以把 Base64 编解码撸一遍。 总是先有需求,再有市场嘛~ 写在前面 首先,让人放心的是,Base64 没什么难的。 其次,让人放心的是,看完 Base64 编解码算法后,实现任意文件编解码也没啥难的。 所以,你输的可能性不大~ Base64 是什么? 一种「编码方式」。 一种用「可读字符」来表示「二进制数据」的编码方式。 对比使用一下平时将exe文件用记事本打开的骚操作,你就明白啥叫可读字符了。Six不
还记得上初二的那年夏天,班里来了一个新同学,他就住在我家对面的楼里,于是我们一起上学放学,很快便成了最要好的朋友。我们决定发明一套神秘的沟通方式,任何人看到都不可能猜到它的真实含义。我们第一个想到的就是汉语拼音,但很显然光把一个句子变成汉语拼音是不够的,于是我们把26个英文字母用简谱的方式从低音到高音排起来,就得到了一个简单的密码本:
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:
TCP协议作为一个可靠的面向流的传输协议,其可靠性是由流量控制和滑动窗口协议保证。
滑动窗口协议 还可以看我的另一篇博客,有更详细的介绍:http://www.cnblogs.com/xcywt/p/8401523.html 属于TCP协议中的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。 该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发送一个分组就停下来等待确认,所以该协议可以加速数据的传输,提高网络吞吐量。 TCP利用一个滑动的窗口来告诉发送端对它所发送的数据能够提供多大的缓冲区,由16位定义,最大为65535个字节。 滑动窗口本质上是描述接收方的
领取专属 10元无门槛券
手把手带您无忧上云