- 什么是零知识证明(Zero-Knowledge Proof, ZKP)
MonkeyKing.sun
零知识证明区块链
零知识证明(Zero-KnowledgeProof,ZKP)是一种密码学技术,它允许你向对方证明你“知道一个秘密”,但又不泄露这个秘密的任何信息。它的最大特点是:✅证明有效性,❌不暴露内容。一、零知识证明是什么?(通俗理解)想象你是爱丽丝(Alice),你知道一个藏宝图的密码,你想向鲍勃(Bob)证明你确实知道这个密码,但又不想告诉他密码是什么。零知识证明就像魔法一样地完成这件事:你证明你知道答案
- 什么是MPC(多方安全计算,Multi-Party Computation)
MonkeyKing.sun
安全
MPC(多方安全计算,Multi-PartyComputation)是一种密码学技术,允许多个参与方在不泄露各自私密输入数据的前提下,共同完成一个计算,并得到正确的计算结果。一、什么是MPC?定义:**多方安全计算(MPC)是一种加密协议,允许多个参与者在输入保持私密的情况下,**安全地进行联合计算,并仅暴露计算结果,而不暴露任何中间信息或原始数据。二、通俗理解:一群人合算工资平均值,但不想互相知
- 二进制安全
关于这个词,解释的应该很多,不管是密码学还是文件什么的,这次想说的是关于代码是二进制安全的,比如这句Redis的字符串表示还应该是二进制安全的:这里的二进制安全是什么意思呢?感觉wiki里这个解释的还是比较清楚的:Binary-safeisacomputerprogrammingtermmainlyusedinconnectionwithstringmanipulatingfunctions.Ab
- 线程池中的线程数量设置为多少比较合适?
Mutig_s
java后端面试
影响因素影响线程数设定的因素,主要有CPU核心数、以及应用类型。CPU密集型应用CPU密集型应用主要是指需要大量计算资源的应用,常见类型包括:科学计算:气象模拟、流体动力学模拟。图形渲染:3D动画制作、电影特效渲染。密码学运算:区块链挖矿、数据加密。机器学习和人工智能:神经网络训练、深度学习。金融分析:量化分析、高频交易。图像和视频处理:视频编辑、编码解码。编译器和代码分析:代码编译、大型软件项目
- 后量子密码学迁移的战略窗口与陷阱
月_o9
python算法人机交互网络安全
后量子密码学迁移的战略窗口与陷阱字数:1040量子计算机对现行公钥密码体系的毁灭性威胁已进入10年倒计时,但迁移风险远超出技术范畴:迫在眉睫的“现在攻击未来”**HarvestNow,DecryptLater**攻击成为国家行为体标配:已确认超过120个APT组织系统性窃取加密数据医疗影像加密数据半衰期达30年,远超量子霸权实现时间表迁移路径的三重断层1.标准割裂危机NIST后量子密码(PQC)标
- 深入哈希函数:SHA-256的数学之旅
云淡风轻~~
哈希算法算法
上次我们聊了哈希是干啥的,说它是个"单向搅拌机"。那今天,咱们就把这台搅拌机的盖子掀开,看看里面的齿轮和刀片(也就是数学原理)到底是怎么工作的。我们拿大名鼎鼎的SHA-256来开刀。放心,这篇文章不是让你去当数学家,而是用一个开发者的视角,去理解我们每天都在用的工具,它背后那些精妙的设计。老规矩,先上警告:理解原理是为了更好地使用它,而不是让你自己去实现一个!专业的事交给密码学家,我们负责把它用对
- 用python实现随机生成sm2密钥对,并进行加解密
万物皆虚
学习历程python安全密码学
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、SM2密码学简介二、Python生成国密SM2密钥对1.导入相关库2.了解密钥对生成原理,并生成随机sm2密钥对3.使用Python进行SM2加解密总结前言前段时间的MQTT的项目要加上加密功能,之前用locust跑的数据要加上加解密,之前没有接触过国密,这次顺带着学习一下,然后发现网上搜索的数据都是没法直接执行的,和
- 数学与加密货币:区块链技术的数学基础
AI天才研究院
计算ChatGPTAI人工智能与大数据javapythonjavascriptkotlingolang架构人工智能大厂程序员硅基计算碳基计算认知计算生物计算深度学习神经网络大数据AIGCAGILLM系统架构设计软件哲学Agent程序员实现财富自由
《数学与加密货币:区块链技术的数学基础》关键词数学基础加密货币区块链技术密码学分布式账本摘要本文旨在探讨数学在加密货币和区块链技术中的基础性作用。通过逐步分析,我们将深入理解数学概念如何支持加密货币的安全性、去中心化和不可篡改性。文章将涵盖初等数学和高等数学的应用,以及算法原理的讲解,帮助读者了解数学与加密货币的紧密联系。目录大纲背景介绍1.1.引言1.2.加密货币与区块链的基本概念数学基础2.1
- 关于 Kyber:抗量子密码算法 Kyber 详解
shenyan~
量子计算
一、基本概念后量子密码学(PQC)│├──>是一个领域(研究如何在“量子时代”保护数据安全)│└──>Kyber是这个领域中设计出来的一个“抗量子密码算法”└──>Kyber是用于加密密钥交换的算法(叫KEM)>后量子密码学(Post-QuantumCryptography,PQC)这是一个“研究领域/学科”,目标是:设计在“未来量子计算机”也无法破解的密码算法。因为像RSA、ECC(椭圆曲线加密
- c语言实现椭圆曲线算法,椭圆曲线加密算法的C语言设计和实现
lniiuan
c语言实现椭圆曲线算法
椭圆曲线加密系统是迄今为止每比特具有最高安全强度的加密系统,它被认为最有希望成为下一代通用的公钥加密系统。文章将采用标准的C语言设计与实现椭圆曲线加密算法。椭圆曲线加密算法的C语言设计和实现椭圆曲线加密算法于1985年提出,由于自身优点,它一出现便受到关注,现在密码学界普遍认为它将替代RSA加密算法成为通用的公钥加密算法。那么我们今天就来看看椭圆曲线加密算法是如何通过C语言来设计实现的。一、椭圆曲
- 操作系统关键知识点之系统安全与防护机制解析
一杯年华@编程空间
系统安全安全操作系统
操作系统关键知识点之系统安全与防护机制解析本次重新学习操作系统,重点聚焦安全领域,通过分析威胁类型、密码学基础及安全模型,与大家共同探讨如何保障计算机系统信息安全,理解操作系统在安全防护中的核心作用。一、知识点总结(一)安全与防护的基本概念核心定义安全(Security):涵盖技术、管理、法律等多层面,确保数据不被未授权访问、篡改或泄露,包含数据保密、完整性、可用性等目标。防护机制(Protect
- 【密码学】扩展欧几里得算法例题
应付考试的写法:注意:RSA加解密、签名时:计算的是关于φ(n)的逆元不是直接关于n的逆元,d是e的逆元,φ(n)与e互素才可以有逆元已知n=pxq,计算φ(n),计算d:扩展欧几里得算法流程:题目:d·e=1mod96,e=5,求d递归(不断的做除法,辗转相除)的计算一个三元组。有两个初始的三元组:设三元组(x,y,z),x,y,z满足:因为要算5对96的逆元,一般把大的放在前面即:96*x+5
- Zama 的门限密钥管理系统(TKMS)
mutourend
MPC(多方安全计算)全同态加密FHEMPCFHE
1.引言Zama的技术通过全同态加密(FullyHomomorphicEncryption,FHE)实现对加密数据的私密计算。然而,在任何应用中,一个主要的问题是密钥管理——特别是如何保护和管理用于解密数据的私钥。为了解决该问题,Zama团队开发了一个基于门限密码学的门限密钥管理系统(ThresholdKeyManagementSystem,TKMS)。具体来说,与依赖单一方持有完整解密密钥不同,
- 全同态加密在大模型应用中应用
远洋之帆
AIGCAI应用市场自然语言综合项目同态加密服务器区块链
密码学简介上文的图例基本展示了常见加密体系。加密体系,如果用比较正式的描述方法,无疑是做了三件事:首先,通过一个生成算法(1)来随机生成一对用于加密和解密的密钥(,)。加密方通过加密密钥和加密算法来加密原文,最后得到密文ℎ。随后,在解密的时候,解密方可以通过解密密钥和解密算法来解密密文,最后还原回来原来的原文。在密码学研究中,每当我们看到一个新的系统的定义之后,接下来往往都要陈述这个系统所应具有的
- 迪菲-赫尔曼密钥交换算法深度解析
网安秘谈
网络
一、背景与需求在对称加密体系中,密钥分发始终是核心安全问题。传统物理交付密钥的方式难以满足现代互联网通信需求,而迪菲-赫尔曼(Diffie-Hellman,DH)密钥交换协议通过数学方法实现了非接触式安全密钥协商,彻底改变了加密通信的格局。该算法于1976年由WhitfieldDiffie和MartinHellman提出,是首个实用的非对称密码学实现。二、数学基础2.1离散对数问题设p为质数,g是
- python报错 ModuleNotFoundError: No module named ‘Crypto‘
anhuihbo
pythonpython开发语言
遇到ModuleNotFoundError:Nomodulenamed'Crypto'错误,是因为未安装Python的密码学库pycryptodome。以下是解决方案:1.安装正确的库原Crypto库已停止维护,需安装替代库pycryptodome:#使用pip安装pipinstallpycryptodome#如果系统中同时存在Python2和3,明确指定pip3pip3installpycryp
- MongoDB中使用的SCRAM-SHA1认证机制
weixin_34250434
数据库javaphp
介绍SCRAM是密码学中的一种认证机制,全称SaltedChallengeResponseAuthenticationMechanism。SCRAM适用于使用基于『用户名:密码』这种简单认证模型的连接协议。SCRAM是一个抽象的机制,在其设计中需要用到一个哈希函数,这个哈希函数是客户端和服务端协商好的,包含在具体的机制名称中。比如SCRAM-SHA1,使用SHA1作为其哈希函数。前言基于『用户名:
- Git与密码学:管理加密算法实现
Git与密码学:管理加密算法实现关键词:Git、密码学、加密算法、版本管理、算法实现摘要:本文深入探讨了Git与密码学之间的联系,特别是如何利用Git进行加密算法实现的管理。我们将从基础概念入手,介绍Git和密码学的核心知识,然后讲解它们之间的相互关系。接着,会详细阐述加密算法实现的核心原理和具体操作步骤,通过实际代码案例进行说明。此外,还会介绍加密算法实现管理在实际中的应用场景,推荐相关工具和资
- 三.比特币与加密钱包——数字资产的守护者
木鱼时刻
web3区块链区块链
在前两篇文章中,我们解构了区块链的数据结构与共识引擎。现在,我们将深入探讨其上层应用的基石——价值的表示与安全。本文将以比特币为例,剖析其独特的UTXO记账模型,并从密码学原理出发,深入讲解公私钥、地址和数字签名的运作机制。最后,我们将揭示加密钱包的工程本质,特别是现代HD钱包的架构设计。1.比特币的记账模型:UTXOvs.账户模型要理解比特币的运作原理,首先必须掌握其核心的记账方式——UTXO(
- 1280: Vigenère密码
一台Redmi Note 12 Pro
c++算法开发语言
题目描述16世纪法国外交家BlaisedeVigenère设计了一种多表密码加密算法——Vigenère密码。Vigenère密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。在密码学中,我们称需要加密的信息为明文,用M表示;称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。在Vigenère密码中,密
- Bugku-CTF-Web安全最佳刷题路线
曾经的我也是CTF六项全能,Web安全,密码学,杂项,Pwn,逆向,安卓样样都会。明明感觉这样很酷,却为何还是沦为社畜。Bugku-CTF-Web安全最佳刷题路线,我已经整理好了,干就完了。尽管我们都是学了就忘,但是那又怎样,至少我们曾经会过:ailx10网络安全优秀回答者互联网行业安全攻防员去知乎咨询:ailx10难度系数1:刷题路线ailx10:Bugku-CTF-滑稽(查看源代码)ailx1
- 量子计算与云计算的融合:技术前沿与应用前景
庸子
云计算量子计算云计算
目录引言量子计算基础量子计算的基本原理量子计算的优势与挑战量子计算的发展阶段云计算基础云计算的基本概念云计算的应用领域云计算面临的挑战量子计算与云计算的结合量子云计算的概念与架构量子云计算的服务模式量子云计算的优势量子云计算的发展现状国际发展现状国内发展现状市场规模与增长趋势量子云计算的应用领域量子云计算在密码学中的应用量子云计算在优化问题中的应用量子云计算在模拟和建模中的应用量子云计算在人工智能
- 量子安全:后量子时代
庸子
安全量子计算
目录引言:量子计算引发的安全范式颠覆量子计算机发展里程碑量子霸权对传统公钥密码体系的威胁时间窗预测量子威胁的本质战略意义:国家网络安全新边疆关键基础设施保护等级重构量子威胁深度解剖密码体系崩溃链分析攻击场景推演行业风险量化评估量子安全技术双轨制解决方案后量子密码学(PQC)NIST标准化进程深度解读迁移路线图三阶段量子密钥分发(QKD)物理层安全机制突破全球骨干网建设案例产业化落地挑战与突破技术瓶
- DES加密——>64位二进制(8字节)——>突破8字节
学渣Heviosr
功能实现c语法实验函数二进制加密密码学64位
密码学课程第一次实验就要根据课本知识实现DES加密,根据《密码学导论》的详细原理解释和网上的一些资料,于是迫不及待写了一份。首先言简意赅地讲一下我这里涉及的一些函数&函数需要实现的功能/*--------------------------编写函数声明-------------------------------*/1.DES子密钥扩展voidDES_MakeSubKeys(charkey[64]
- 位运算(Bitwise Operations)深度解析
位运算(BitwiseOperations)深度解析位运算直接操作数据的二进制位(bit),是底层编程的核心技术,在算法优化、硬件控制、密码学等领域有不可替代的作用。核心位运算符(7种基础操作)运算符符号逻辑说明示例(二进制)与&同1则11100&1010=1000或|有1则11100|1010=1110异或^不同为11100^1010=0110取反~0/1互换~1100=0011(以4位为例)左
- [密码学实战]彻底理解位(bit)与字节(byte)在十六进制处理中的区别
曼岛_
成长之路密码学
[密码学实战]彻底理解位(bit)与字节(byte)在十六进制处理中的区别一、为什么需要区分位和字节?在密码学开发中,SM2、AES等算法的密钥长度常以位(bit)为单位描述,而实际代码操作却以字节(byte)为基本单位。这种差异若理解不透彻,极易导致以下问题:缓冲区溢出:分配内存时混淆单位密钥截断:错误处理Hex字符串导致密钥强度降低跨平台兼容性问题:不同系统对数据类型解释不同二、核心概念对比1
- 凯撒密码:古典密码学的奠基者与技术解析
weixin_47233946
密码密码学凯撒密码
##一、引言:千年加密的起源凯撒密码(CaesarCipher)作为人类历史上最早被记录的加密技术之一,由古罗马军事统帅尤利乌斯·凯撒在公元前1世纪发明并用于军事情报传递。这种简单的替换式加密算法不仅是密码学的启蒙之作,更奠定了现代加密技术的基础原理。本文将深入解析其技术细节,并通过Python代码示例演示其实现过程。##二、核心算法原理###2.1基本加密模型凯撒密码采用单字母替换策略,其数学表
- 古典密码学介绍
weixin_47233946
密码密码学网络
#古典密码学:人类保密通信的智慧起源##引言在数字化安全技术高度发达的今天,密码学作为信息安全的基石,其发展历程可追溯至数千年前的古代文明。古典密码学(ClassicalCryptography)作为密码学的启蒙阶段,不仅见证了人类智慧对抗信息泄露的永恒斗争,更为现代密码学奠定了重要基础。本文将系统梳理从古埃及到工业革命前的密码技术演进,解析其核心原理与历史价值。——哈希算法
奔跑的蜗牛_Kieasar
区块链技术区块链密码学
一、常用密码学算法分类哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局)加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA编码/解码算法:编码解码算法可逆,无需密钥,Base64编码,Base58编码解码。二、hash定义与特点定义:把任意长度的输入通
- 现代密码学 | 椭圆曲线密码学—附py代码
Turbo正则
量子密码学密码学现代密码学python椭圆曲线密码学
EllipticCurveCryptography椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签名算法(ECDSA)。这些签名对于确保数据的真实性和完整性至关重要。椭圆曲线迪菲-赫尔曼(ECDH)之类的协议能够在不安全的信道上实现安全的密钥交换,从
- 深入浅出Java Annotation(元注解和自定义注解)
Josh_Persistence
Java Annotation元注解自定义注解
一、基本概述
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
更通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且是供指定的工具或
- mysql优化特定类型的查询
annan211
java工作mysql
本节所介绍的查询优化的技巧都是和特定版本相关的,所以对于未来mysql的版本未必适用。
1 优化count查询
对于count这个函数的网上的大部分资料都是错误的或者是理解的都是一知半解的。在做优化之前我们先来看看
真正的count()函数的作用到底是什么。
count()是一个特殊的函数,有两种非常不同的作用,他可以统计某个列值的数量,也可以统计行数。
在统
- MAC下安装多版本JDK和切换几种方式
棋子chessman
jdk
环境:
MAC AIR,OS X 10.10,64位
历史:
过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)(原自带的是1.6)。
后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。
在终端中输入jav
- javaScript (1)
Array_06
JavaScriptjava浏览器
JavaScript
1、运算符
运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、算术运算符(+,-,*,/,++,--,%)、比较运算符(>,<,<=,>=,==,===,!=,!==)、逻辑运算符(||,&&,!)、条件运算(?:)、位
- 国内顶级代码分享网站
袁潇含
javajdkoracle.netPHP
现在国内很多开源网站感觉都是为了利益而做的
当然利益是肯定的,否则谁也不会免费的去做网站
&
- Elasticsearch、MongoDB和Hadoop比较
随意而生
mongodbhadoop搜索引擎
IT界在过去几年中出现了一个有趣的现象。很多新的技术出现并立即拥抱了“大数据”。稍微老一点的技术也会将大数据添进自己的特性,避免落大部队太远,我们看到了不同技术之间的边际的模糊化。假如你有诸如Elasticsearch或者Solr这样的搜索引擎,它们存储着JSON文档,MongoDB存着JSON文档,或者一堆JSON文档存放在一个Hadoop集群的HDFS中。你可以使用这三种配
- mac os 系统科研软件总结
张亚雄
mac os
1.1 Microsoft Office for Mac 2011
大客户版,自行搜索。
1.2 Latex (MacTex):
系统环境:https://tug.org/mactex/
&nb
- Maven实战(四)生命周期
AdyZhang
maven
1. 三套生命周期 Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post
- Linux下Jenkins迁移
aijuans
Jenkins
1. 将Jenkins程序目录copy过去 源程序在/export/data/tomcatRoot/ofctest-jenkins.jd.com下面 tar -cvzf jenkins.tar.gz ofctest-jenkins.jd.com &
- request.getInputStream()只能获取一次的问题
ayaoxinchao
requestInputstream
问题:在使用HTTP协议实现应用间接口通信时,服务端读取客户端请求过来的数据,会用到request.getInputStream(),第一次读取的时候可以读取到数据,但是接下来的读取操作都读取不到数据
原因: 1. 一个InputStream对象在被读取完成后,将无法被再次读取,始终返回-1; 2. InputStream并没有实现reset方法(可以重
- 数据库SQL优化大总结之 百万级数据库优化方案
BigBird2012
SQL优化
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。
这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where
- jsonObject的使用
bijian1013
javajson
在项目中难免会用java处理json格式的数据,因此封装了一个JSONUtil工具类。
JSONUtil.java
package com.bijian.json.study;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
- [Zookeeper学习笔记之六]Zookeeper源代码分析之Zookeeper.WatchRegistration
bit1129
zookeeper
Zookeeper类是Zookeeper提供给用户访问Zookeeper service的主要API,它包含了如下几个内部类
首先分析它的内部类,从WatchRegistration开始,为指定的znode path注册一个Watcher,
/**
* Register a watcher for a particular p
- 【Scala十三】Scala核心七:部分应用函数
bit1129
scala
何为部分应用函数?
Partially applied function: A function that’s used in an expression and that misses some of its arguments.For instance, if function f has type Int => Int => Int, then f and f(1) are p
- Tomcat Error listenerStart 终极大法
ronin47
tomcat
Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart。为了调试,我们要获得更详细的日志。可以在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下
Java代码
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHa
- 不用加减符号实现加减法
BrokenDreams
实现
今天有群友发了一个问题,要求不用加减符号(包括负号)来实现加减法。
分析一下,先看最简单的情况,假设1+1,按二进制算的话结果是10,可以看到从右往左的第一位变为0,第二位由于进位变为1。
 
- 读《研磨设计模式》-代码笔记-状态模式-State
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况
把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化
如果在
- CUDA程序block和thread超出硬件允许值时的异常
cherishLC
CUDA
调用CUDA的核函数时指定block 和 thread大小,该大小可以是dim3类型的(三维数组),只用一维时可以是usigned int型的。
以下程序验证了当block或thread大小超出硬件允许值时会产生异常!!!GPU根本不会执行运算!!!
所以验证结果的正确性很重要!!!
在VS中创建CUDA项目会有一个模板,里面有更详细的状态验证。
以下程序在K5000GPU上跑的。
- 诡异的超长时间GC问题定位
chenchao051
jvmcmsGChbaseswap
HBase的GC策略采用PawNew+CMS, 这是大众化的配置,ParNew经常会出现停顿时间特别长的情况,有时候甚至长到令人发指的地步,例如请看如下日志:
2012-10-17T05:54:54.293+0800: 739594.224: [GC 739606.508: [ParNew: 996800K->110720K(996800K), 178.8826900 secs] 3700
- maven环境快速搭建
daizj
安装mavne环境配置
一 下载maven
安装maven之前,要先安装jdk及配置JAVA_HOME环境变量。这个安装和配置java环境不用多说。
maven下载地址:http://maven.apache.org/download.html,目前最新的是这个apache-maven-3.2.5-bin.zip,然后解压在任意位置,最好地址中不要带中文字符,这个做java 的都知道,地址中出现中文会出现很多
- PHP网站安全,避免PHP网站受到攻击的方法
dcj3sjt126com
PHP
对于PHP网站安全主要存在这样几种攻击方式:1、命令注入(Command Injection)2、eval注入(Eval Injection)3、客户端脚本攻击(Script Insertion)4、跨网站脚本攻击(Cross Site Scripting, XSS)5、SQL注入攻击(SQL injection)6、跨网站请求伪造攻击(Cross Site Request Forgerie
- yii中给CGridView设置默认的排序根据时间倒序的方法
dcj3sjt126com
GridView
public function searchWithRelated() {
$criteria = new CDbCriteria;
$criteria->together = true; //without th
- Java集合对象和数组对象的转换
dyy_gusi
java集合
在开发中,我们经常需要将集合对象(List,Set)转换为数组对象,或者将数组对象转换为集合对象。Java提供了相互转换的工具,但是我们使用的时候需要注意,不能乱用滥用。
1、数组对象转换为集合对象
最暴力的方式是new一个集合对象,然后遍历数组,依次将数组中的元素放入到新的集合中,但是这样做显然过
- nginx同一主机部署多个应用
geeksun
nginx
近日有一需求,需要在一台主机上用nginx部署2个php应用,分别是wordpress和wiki,探索了半天,终于部署好了,下面把过程记录下来。
1. 在nginx下创建vhosts目录,用以放置vhost文件。
mkdir vhosts
2. 修改nginx.conf的配置, 在http节点增加下面内容设置,用来包含vhosts里的配置文件
#
- ubuntu添加admin权限的用户账号
hongtoushizi
ubuntuuseradd
ubuntu创建账号的方式通常用到两种:useradd 和adduser . 本人尝试了useradd方法,步骤如下:
1:useradd
使用useradd时,如果后面不加任何参数的话,如:sudo useradd sysadm 创建出来的用户将是默认的三无用户:无home directory ,无密码,无系统shell。
顾应该如下操作:
- 第五章 常用Lua开发库2-JSON库、编码转换、字符串处理
jinnianshilongnian
nginxlua
JSON库
在进行数据传输时JSON格式目前应用广泛,因此从Lua对象与JSON字符串之间相互转换是一个非常常见的功能;目前Lua也有几个JSON库,本人用过cjson、dkjson。其中cjson的语法严格(比如unicode \u0020\u7eaf),要求符合规范否则会解析失败(如\u002),而dkjson相对宽松,当然也可以通过修改cjson的源码来完成
- Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
yaerfeng1989
timerquartz定时器
原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm
有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。
1.Java Timer定时
首先继承jav
- Linux下df与du两个命令的差别?
pda158
linux
一、df显示文件系统的使用情况,与du比較,就是更全盘化。 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型。 举比例如以下: [root@localhost ~]# df -T Filesystem Type &n
- [转]SQLite的工具类 ---- 通过反射把Cursor封装到VO对象
ctfzh
VOandroidsqlite反射Cursor
在写DAO层时,觉得从Cursor里一个一个的取出字段值再装到VO(值对象)里太麻烦了,就写了一个工具类,用到了反射,可以把查询记录的值装到对应的VO里,也可以生成该VO的List。
使用时需要注意:
考虑到Android的性能问题,VO没有使用Setter和Getter,而是直接用public的属性。
表中的字段名需要和VO的属性名一样,要是不一样就得在查询的SQL中
- 该学习笔记用到的Employee表
vipbooks
oraclesql工作
这是我在学习Oracle是用到的Employee表,在该笔记中用到的就是这张表,大家可以用它来学习和练习。
drop table Employee;
-- 员工信息表
create table Employee(
-- 员工编号
EmpNo number(3) primary key,
-- 姓