ede

PHP加密扩展库-openssl

女生的网名这么多〃 提交于 2020-10-06 02:03:11
PHP加密扩展库—Mcrypt扩展库 概要: php从7.0升级到7.1废弃了一个扩展,即mcrypt扩展,虽然安装上扩展也能正常使用,但是会发出警告,告诉我们mcrypt相关方法已经被废弃,到了7.2,已经被移除,因此不建议继续使用。 来源: 在使用微信,淘宝第三方开发文档的时候,很多地方还是沿用以前的加密方法,这个时候我们需要找到替换的方法,openssl就是不错的选择,这就需要我们清楚mcrypt和openssl之间的差异,以便保证数据加解密的一致性。 详解mcrypt和openssl来实现AES-128/192/256-CBC加解密 1. 条件约束 之前PHP5上常使用的mcrypt库在PHP7.1+上已经被移除,故我们采用openssl对数据进行加解密。 加密方式采用DES-EDE-CBC方式。 密钥填充方式为:采用24位密钥,先将key进行MD5校验取值,得出16位字串,再取key MD5校验值前8位追加到先前的取值后面。由此组装出24位的密钥。 2. 代码分享 <? php class DesEdgCbc { private $cipher , $key , $iv ; public function __construct( $cipher , $key , $iv ){ $this ->cipher = $cipher ; $this -> key = $this

如何舒服地在图书馆用ipad入门深度学习【windows jupyter远程】

╄→гoц情女王★ 提交于 2020-09-25 07:05:48
目录 前言 选择 与 特点 实现过程 jupyter远程: 蒲公英组网: bat文件,一键激活环境 效果展示 过程中遇到的问题 改进方向 最后,感谢您的阅读,如果能从您这里再收获点建议就更好了。 前言 小伙伴们中有考研的、考法考的,预定好暑假一起去图书馆学习,互相监督, 目前我的任务是入门python 以及 深度学习,这肯定需要电脑。 我的游戏本,算上适配器好几斤重,去图书馆几天就受不了 (省图书馆有插座但很难抢到座位,市图书馆有座位没插座,没电源不管是笔记本还是surface几小时就得gg,更别提性能了)。 树莓派也试过,用ipad vnc控制 画面延迟实在难以忍受。就算勉强用来入门,万一后面模型大点树莓派那点算力还是拙荆见肘,同理也不打算采购地平线的开发板(麻烦,穷,而且教材上的框架能不能跑起来还是个问题)。 我的老ipad重量轻,可用充电宝供电,但是无法直接编程。 想来想家里才装的台式机2070super( win10 )不拿来用属实有些心痛(买前生产力,买后打游戏), 所以我需要一个办法,让我在图书馆内用ipad就能入门深度学习,最好还有很强的算力。 #此方案可能考虑不周,请抱着娱乐的心态观看,欢迎一切建议 选择 与 特点 经过调查本地编写、远程运行的常见方式有三种:code-server , remote-ssh , jupyter 远程,其特点大致如下: 方式 优点

tomcat6关闭日志文件

佐手、 提交于 2020-08-20 05:10:45
操作系统 : suse11 linux环境 版本: tomcat6 (新版本tomcat版本变化大,可相对参考设置) 最近遇到系统关系Catalina.out日志文件持续变大的问题,已经影响到了生产环境的使用空间,多次设置 conf/logging.properties 设置参数为off发现并不起作用,对于error级别的仍旧不能过滤。于是参考tomcat的shell脚本,看启动命令行的调用,如下如所示,发现startup脚本调用的是catalina.sh脚本(带箭头部分),由此可以推断出 启动脚本相关参数依据是catalina.sh的相关配置,于是就vim catalina.sh,在这里果然找到 Catalina.out日志 的设置信息,于是对日志部分设置null处理,再次启动,就不会有任何日志产生,具体设置见下图 有人会说没有了日志,应用处理问题如何处理??? 在这里有必要解释一下,现在的应用一般都有自己的日志插件。比如log4j这是最常用的日志记录插件,完全可以不适用tomcat自带的日志,如果没有,那就设置 conf/logging.properties 将 1catalina.org.apache.juli.FileHandler.level = OFF 、java.util.logging.ConsoleHandler.level = OFF 。重启即可 如此

使用微软Power BI进行时间序列预测

南楼画角 提交于 2020-08-18 07:49:39
作者|GUEST 编译|VK 来源|Analytics Vidhya 介绍 时间序列预测是机器学习的一个非常重要的领域,因为它让你能够提前“预见”并据此制定业务计划。 在本博客中,我们将了解什么是时间序列预测,Power BI如何制作时间序列预测图和Power BI用于预测的模块。 什么是时间序列预测? 时间序列是以天、小时、月和年为单位定期收集数据。时间序列预测是机器学习中的一种技术,它通过分析数据和时间序列来预测未来的事件。 这种技术基于历史时间序列数据提供了对未来趋势的近乎精确的假设。 时间序列允许你分析主要模式,如趋势、季节性、周期性和不规则性。它被广泛应用于股票市场分析、模式识别、地震预测、经济预测、人口普查分析等领域。 时间序列包括趋势周期和季节性。不幸的是,许多人混淆了季节性行为和周期性行为。为了避免混淆,让我们了解它们是什么: 趋势 :一段时间内数据的增加或减少称为趋势。 季节性 :通常,季节性具有固定和已知的频率。例如,季节性因素,如一年中的时间或一周中的某一天,就会出现季节性的模式。 周期性 :当一个数据显示波动时,一个周期就发生了。但不同于季节性,它不是固定的频率。 Power View使用哪种算法进行时间序列预测? Power BI提供了两个指数平滑的版本,一个用于季节性数据(ETS AAA),另一个用于非季节性数据(ETS AAN) Power

程序员如何实现财务自由?

一个人想着一个人 提交于 2020-08-17 07:51:52
我想,很多同学的第一答案就是苦练技术,年薪百万,赢取白富美,走上人生巅峰! 如果你把到点发工资也称为挣钱,那我无话可说,做到年薪百万的技术人员当然有,但能有几个?这根本不具有普适性。 所以,我这里讲的是兼职赚钱以及副业转正实现财务自由的方法。 昨天,在知乎上看到一个非常有意思的帖子,有个名词叫「小镇做题家」 这让我联想到,有个同学问我:“启舰,技术高了真的能挣大钱吗?” 这就相当于「小镇做题家」,只懂技术的程序员真的能挣大钱吗? 一、挣钱,永远靠的不是技术 我永远不觉得技术高了能挣大钱,我一直认为技术人提升自己的技术是自身保命的根本,是保证自己能吃到饭的本领,而能不能挣大钱,靠的绝对不是技术高低。 讲个现实的例子吧。 大家都知道网站有流量,我也曾经说过,但凡有流量的地方就能挣钱。有个朋友做服务端的,利用框架搭了个面试交流网站 http://www.100mian.com (百面网)。完全用的现有的模块框架,拖拖拽拽就完成了,需要技术含量? 但人家每年至少盈利五万,你知道吗? 所以,技术只是手段,能不能挣钱靠的是技术以外的东西,而不是技术! 想要靠技术挣钱,业余去学学技术以外的东西,多跟运营的、商务的同学聊聊天,你就知道哪些能挣钱,哪些是企业需要的。再去看,自己能不能做。 我一直认为技术同学,只要转变思想,赚钱是非常简单的,大家都懂技术,缺乏的只是思想

迅捷PDF转换器,教你如何准确快速提取图片中的文字

允我心安 提交于 2020-08-16 03:58:09
图片记录着信息,是一种重要的文字载体。当文字以图片形式呈现,增强视觉效果的同时也增加了编辑难度,编辑时需要借助专业的P图软件——这意味着消耗更多的人力、物力与时间成本,且编辑途径单一。图片转文字,有什么好方法吗? 生活或工作中,当我们需要提取图片中的文字,使用迅捷PDF转换器“图片转文字”功能,解放双手的同时还能节省不少时间。以下,跟随小编看看如何将 图片转换为文字 吧! 第一步(如图1所示):首先,在你的电脑上打开迅捷PDF转换器(PC版)。点击软件界面上方的“特色转换”,并选择左侧栏显示的“图片转文字(OCR)”功能。 第二步(如图1所示):接着,点击软件界面中间的虚线框进行文件添加,或直接把文件拖拽进来。添加的文件最大可达50M,支持jpg、png与bmp格式。 第三步(如图2所示):然后,软件界面下方显示有输出目录,用户可以根据需要选择输出路径,方便转换后的文件查看。 第四步(如图2所示):最后,点击软件界面右下方的“开始转换”按钮。等待片刻,转换完成。 将图片转为文字,使用迅捷PDF转换器便可以轻松实现。此外,该转换器还有其他更多的特色转换功能(如通过扫描pdf转word等),也可以对pdf文件进行分割、合并等。这次的分享到此结束,有需要的朋友赶紧学起来哦! 来源: oschina 链接: https://my.oschina.net/u/4524402/blog

如何在Linux中执行MySQL/MariaDB查询

荒凉一梦 提交于 2020-08-15 21:46:13
如果您负责管理数据库服务器,则可能需要不时运行查询并仔细检查它。虽然您可以从MySQL/MariaDB Shell 执行此操作,但此技巧将使您可以直接使用 Linux 命令 行执行MySQL/MariaDB查询,并将输出保存到文件中以供以后检查(这在查询返回时特别有用。很多记录)。 让我们来看一些直接从 命令 行运行查询的简单示例,然后再转向更高级的查询。要查看服务器上的所有数据库,可以发出以下命令: [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "show databases;" +--------------------+ | Database | +--------------------+ | idc_db | | information_schema | | linuxidc_db | | mysql | | performance_schema | | xxx_db | +--------------------+ 接下来,要在数据库linuxidc_db 中创建一个名为linuxceshi的数据库表,请运行以下命令: [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "USE linuxidc_db ; CREATE

十分钟从入门到精通(下)——OBS权限配置

混江龙づ霸主 提交于 2020-08-14 13:58:23
上一篇 我们介绍了OBS权限管理中统一身份认证和企业项目管理,本期我们继续介绍OBS权限管理中的高级桶策略和ACL应用。 您是否也遇到过类似的问题或者困扰? 1、隔壁的主账户给了子用户创建一个桶,但是没有给他设置桶策略,子账户访问报403,困惑了一整天。 2、楼下是另外一个子账号,为了OBS 控制台报无权限访问,百思不得其解。 3、对面一个子账户上传了一个文件,抓破头也无法分享给其他人。 这些问题或者困扰各不相同,下面将分别介绍高级桶策略和ACL应用来解答这些问题和困惑。 高级桶策略介绍: 桶策略是作用于配置桶策略的单个桶的。同时也提供代码模式配置方法,高级桶策略代码最多不能超过20KB。 桶策略参数: (1)Effect,桶策略效果;指定本条策略描述的权限是允许请求还是拒绝请求。 (2)Action,桶策略动作;指定本条策略可以执行的操作。 (3)Condition,策略生效必须满足的条件,详情参考 https://support.huaweicloud.com/usermanual-obs/obs_03_0120.html (4)Resource,资源;资源指桶或对象。您可以指定一个对象或对象集,当指定给对象集时,使用通配符(*),例如:file*。如果不输入,则表示指定资源为桶,且在动作处只能选择与桶相关的。多个资源使用英文逗号分隔。 (5)Principal

WastedLocker:赛门铁克确定了针对美国组织的攻击浪潮

二次信任 提交于 2020-08-14 13:17:50
原文链接: WastedLocker: Symantec Identifies Wave of Attacks Against U.S. Organizations 译者:知道创宇404实验室翻译组 Broadcom旗下的赛门铁克发现并警告用户:攻击者试图部署WastedLocker勒索软件,对美国公司进行了一系列攻击。这些攻击的最终目标是通过对受害者的大多数计算机和服务器进行加密来削弱受害者的IT基础架构,以要求获得数百万美元的赎金,目前至少有31个组织受到了攻击,这意味着攻击者已经破坏了目标组织的网络,并且正在为勒索软件攻击奠定基础。 是一种相对较新的定向勒索软件,在 NCC Group发布 之前就已被 记录 ,而赛门铁克正在对受影响的网络进行扩展。WastedLocker被归因于臭名昭著的“Evil Corp”网络犯罪组织,Evil Corp曾与 Dridex银行木马 和BitPaymer勒索软件相关联,勒索金额高达数千万美元。两名涉嫌参与该组织的俄罗斯男子在美国对他们进行了 公开起诉 。 这些攻击始于一个名为SocGholish的基于javascript的恶意框架,该框架被追踪到超过150个受到威胁的网站伪装成软件进行更新。一旦攻击者进入了受害者的网络,他们就会使用Cobalt Strike恶意软件和一些非本土工具来盗取身份证件,升级特权,然后在网络中进行移动

Java中常用的四种线程池,你了解多少?

自作多情 提交于 2020-08-14 06:54:12
newFixedThreadPool 首先,看一下这种线程池的创建方法: public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>()); } 从构造方法可以看出. 它创建了一个固定大小的线程池,每次提交一个任务就创建一个线程,直到线程达到线程池的 最大值nThreads。 线程池的大小一旦达到最大值后,再有新的任务提交时则放入无界阻塞队列中,等到有线程空 闲时,再从队列中取出任务继续执行。 那么,如何使用newFixedThreadPool呢?我们来举个例子: public class OneMoreStudy { public static void main(String[] args) { ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3); for (int i = 0; i < 5; i++) { final int index = i; fixedThreadPool.execute(new