OpenSSL

以为是高性能神仙算法,一看源代码才发现...

折月煮酒 提交于 2020-12-04 13:42:59
以为是高性能神仙算法,一看源代码才发现... 收录于话题 #你不知道的 Python 71个 摄影:产品经理 产品经理亲自下厨 在昨天的文章中,我们讲到了 RSA 算法。RSA 算法的根本原理中,有两个核心质数 p和 q,他们相乘得到一个数 n。由于反向从 n 分解出 p 和 q 非常困难,所以只要 p 和 q 足够大,RSA 算法在现在的计算机水平下就无法被破解。 现在,你先暂停一下,打开百度或者 Google,搜索一下 RSA 算法的教程。随便看10篇。 你会发现,这些教程无一例外都是说:寻找两个足够大的质数 p 和 q。但他们都不会告诉你,怎么寻找。 在现在的数学体系中,质数是找出来的,而不是生成出来的。还没有一个完美的通项公式可以生成质数。我们可以做到快速检查一个数是不是质数,但是我们现在还做不到直接生成一个质数。 那么问题来了,RSA 算法中生成密钥时,需要的这两个质数,到底是怎么来的? 当我们使用 RSA 算法生成2048 bit的密钥时,我们需要找到的两个质数 p 和 q,他们各是1024bit。1024bit的数字有多大?它最小的值为 ,最大为 。如果你从最小的这个数字开始数,数到最大的这个数,每秒你能数1亿个数字

如何解决 Pycharm 无法使用 Anaconda 2018.12 创建Conda 环境问题

萝らか妹 提交于 2020-12-04 11:57:18
最新补充说明:https://mirror.tuna.tsinghua.edu.cn/news/close-anaconda-service/ 首先说明导致该问题原因是缺少 openssl 支持,解决方法是添加 openssl 环境变量 或者不使用 HTTPS 。tips: python 大部分安装源已启用https连接方式。 本文 Python 版本为3.6.8。其他使用方法版本类似。 PS C:\Windows\system32> python Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> >>> exit() PS C:\Windows\system32> Pycharm 社区版 版本为2019.1。 本文使用 Ananonda 版本为2018.12,操作系统为 Windows 10,其他系统类似故障也可以使用类本方法。 首先介绍修改系统变量方法。添加openssl.exe到环境变量。 #添加anaconda 安装目录openssl.exe文件夹 C:\ProgramData

Android 开发两年面试总结

痴心易碎 提交于 2020-12-04 10:09:07
面试时间:2020.11.19-2020.11.25 面试公司:6家 旺龙智能、小虎互联、尚游、小鹅通、编程猫、车保中服、旺龙智能 骑驴找马面试:2020.09.06-2020.11.13 到面:几米、来画、尚米、伊欧乐、ETEKCITY、木易炎黄、咸鱼游戏、私募排排、威富通、东风日产、创维、TCL 电面:百度、阿里、腾讯、网易 沟通软件:Boss直聘 面试方向:项目、java基础、android基础、网络 项目: 简历按时间顺序,从 最新-最久 ,写清并说清自己负责的内容,细化到如何实现的,将整个流程烂熟在脑子里。 ①:针对视频流项目的问题: 说一下一个视频的一个整体播放流程? 说一下它的编码和解码的采用的是? 播放的协议? ijkMedia 与 exoMedia 与android 原生的区别和联系? 怎么去看他的播放率?成功率? 怎么解决秒开? ② :针对手机与机顶盒局域网通信的项目的问题: TCP与UDP的区别? 为什么TCP是以流的方式传输? HTTPS的加解密方式以及三次握手、四次分手?对称加密及非对称加密 传输过程中采用的是那个密钥? 通信中采用的协议? android: 基础: Handler的讲解?Looper与Handler的关系?一个线程多个Handler是如何进行目标发送和接收的?消息是如何进行插入和删除的? View的时间分发机制?横竖冲突、横横冲突?

将Win10电脑变成蓝牙音箱

痞子三分冷 提交于 2020-12-04 08:26:17
很多网友都喜欢用手机听歌,不过话说回来,这东西只适合接驳耳机,如果使用外放,无论如何也是没法和台式音响媲美的。如果你有一台装有Win10 v2004的电脑,这里倒有一个小技巧,可以将你的电脑直接变身为“蓝牙音箱”。一分钱不花,就能让手机音乐从电脑音响里流出了。 第一步. 蓝牙连接 手机和电脑同时开启蓝牙连接,其中手机的开启比较容易,这里不再多说。电脑端需要进入“设置”→“设备”→“蓝牙和其他设备”,在保证“蓝牙”为开启状态后,点击“添加蓝牙或其他设备”→“蓝牙”。稍等片刻,屏幕上会显示出你的手机图标,再次点击就会生成连接密钥。 电脑端搜索手机 手机端也是同样的操作,当电脑端发起连接后,手机端也会同步显示秘钥,如果两者的秘钥完全一致,就可以点击手机上的“配对“图标,将手机与电脑连通。 注:个别手机系统具有安全设定,如果电脑端发起的连接不成功,也可尝试从手机端发起连接,一般都可以连接完成。 电脑端和手机端连接界面展示 如果能看到下图这个样子,就代表连接成功了。 连接好后就是这个样子 第二步. 下载“Bluetooth Audio Receiver”应用 打开应用商店,搜索“Bluetooth Audio Receiver”(https://www.microsoft.com/zh-cn/p/bluetooth-audio-receiver/9n9wclwdqs5j),点击“获取”按钮

trying to solve /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError) led to bad interpreter: /usr/local/opt/python/bin/python2.7

梦想与她 提交于 2020-12-04 05:26:32
问题 After a brew upgrade, I couldn’t run any of my Ruby on Rails apps anymore. I got this error message: : dlopen(/Users/ll/.rbenv/versions/2.6.2/lib/ruby/2.6.0/x86_64-darwin18/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError) Referenced from: /Users/ll/.rbenv/versions/2.6.2/lib/ruby/2.6.0/x86_64-darwin18/openssl.bundle Reason: image not found - /Users/ll/.rbenv/versions/2.6.2/lib/ruby/2.6.0/x86_64-darwin18/openssl.bundle So I tried brew switch

Linux安装Nginx

☆樱花仙子☆ 提交于 2020-12-02 23:17:00
1.新建目录nginx,下载需要的软件 wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz wget https://zlib.net/zlib-1.2.11.tar.gz wget http://nginx.org/download/nginx-1.17.1.tar.gz 2.进入nginx目录解压下载的文件 ls *.tar.gz | xargs -n1 tar xzvf 3.编译安装 ./configure --prefix=/usr/local/nginx --with-openssl=../openssl-1.0.2s --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11 --with-pcre-jit --user=root --with-http_ssl_module --with-http_v2_module make make install 来源: oschina 链接: https://my.oschina.net/sky2008/blog/4771011

IETF透露HTTP over QUIC 将重命名为HTTP/3 协议

牧云@^-^@ 提交于 2020-12-02 07:03:45
周一,IETF透露它将HTTP-over-QUIC实验协议重命名为HTTP / 3。HTTP-over-QUIC是一种HTTP重写,用TCP替换TCP。 如果这看起来有点为时过早,那么它与IETF的历史运作方式并不完全不符。就像TLS 1.3在每个网站甚至已经切换到TLS 1.2之前推出的那样(尽管到8月份绝大多数都有)并且SHA-3已经建立,尽管几年前SHA-2开始使用。因此,尽管事实上只有31.2%的前1000万网站甚至使用 HTTP / 2 ,但HTTP / 3已经出现。 已经有1000万支持QUIC的1.2%。那是大约120,000个网站。 那么,什么是HTTP-over-QUIC - 或者我想现在它是HTTP / 3 - 这个新协议对于 SSL / TLS 行业意味着什么? 什么是HTTP / 3(又名HTTP-over-QUIC) HTTP-over-QUIC是一种实验性的Google协议,它是一种HTTP重写,它在QUIC中交换传统上位于互联网核心的标准TCP。 TCP是传输控制协议,与IP(互联网协议)一起,它已成为定义互联网多年的基本规则之一。它足够老,它有一个三位数的RFC编号。这是一个IETF的笑话,TCP是在1981年定义的.TCP是一种面向连接的协议,它旨在提供无差错的数据传输,它控制数据如何分解成数据包并传播到连接的另一端。 不幸的是

互联网三高架构:高并发、高性能、高可用

99封情书 提交于 2020-12-02 05:38:54
点 击上方“ 掌上编程 ”,选择“ 置顶或者星标 ” 优质文章第一时间送达! 面向互联网的三高系统,最关注的软件质量属性是:性能、可用性、伸缩性、扩展性、安全性。 而构建此类系统,最常见的架构模式有:横向分层、纵向分割、分布式化、集群化、使用缓存、使用异步模式、使用冗余、自动化(发布、部署、监控)。 具体来说,可以在不同层次常用的技术有: 前端架构 浏览器优化技术:合理布局,页面缓存,减少http请求数,页面压缩,减少 cookie 传输。 1)CDN CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。 2)DNS负载均衡 3)动静分离,静态资源独立部署,动态图片独立提供服务 应用层架构 1)业务拆分 2)负载均衡 3)虚拟化服务器、容器化 4)无状态(以及分布式 Session) 分布式Session有如下几种实现方式。 1.Session复制机制 在支持Session复制的Web服务器上,通过修改Web服务器的配置,可以实现将Session同步到其它Web服务器上,达到每个Web服务器上都保存一致的Session。 优点:代码上不需要做支持和修改。 缺点:需要依赖支持的Web服务器

Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令

此生再无相见时 提交于 2020-12-01 21:19:55
就这三步骤,下面的是实例不看也罢。 apt- get update ###第一步一定要先执行这个更新下。不更新下面的安装命令会显示找不到网络包 // ifconfig apt install net- tools // ping apt install iputils-ping 具体实例如下: root@localhost ~]# docker run -it ubuntu: 16.04 /bin/ bash #####进入容器内 root@f87aa9698ac1: / # root@f87aa9698ac1: /# ping 8.8 . 8.8 ###首先ping会显示没有安装这个命令 bash: ping: command not found root@f87aa9698ac1: /# apt install net- tools ###直接执行安装命令是显示找不到网络包 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package net - tools root@f87aa9698ac1: /# ping 8.8 . 8.8 bash: ping: command not found root

软件开发公司概述Android指纹API

三世轮回 提交于 2020-12-01 21:12:23
软件开发公司的Android指纹API正在将用户身份验证提升到一个全新的水平,使其更快、更安全。用一次触摸解锁手机是app外包公司非常喜欢的功能之一,软件开发公司真的很希望有更多的APP使用触摸识别。 指纹识别本身并不是什么新鲜事,但Android操作系统对指纹识别的支持一直是人们期待已久的事情。在不久的将来,它将消除从三星这样的设备制造商那里集成特定指纹SDK的需求,这无疑将大大减轻应用程序开发人员的负担。 软件开发公司的这一概述将使您熟悉使用Android6.0指纹API的工作流程,该流程基于Google的示例项目,所以请记住以下几点: 1、使用Android6.0+的设备还不多,都有指纹硬件。 2、对于某些拥有硬件但不运行Android6.0+的设备(例如三星Galaxy手机),您必须使用制造商提供的SDK。 3、软件开发公司引入了一种新的权限模型,它要求用户在运行时为你提供敏感权限,因此,考虑到用户可能不会授予您的应用程序指纹扫描许可。 4、您可以为数据加密创建对称密钥或非对称密钥对(请参阅这个职位有关Android应用程序非对称密钥流的更多细节和代码示例)。 5、保持用户界面友好,确保UI指示扫描器何时为用户准备好。 6、当你的应用程序进入后台时,别忘了取消听指纹。如果你不停止监听,其他应用程序就不能使用扫描仪,包括锁屏,换句话说就是:别把指纹识别器当成照相机。 来源: