
算法
文章平均质量分 74
棃明小书生
努力努力再努力
展开
-
数据风险量化评估方案
一、企业面临数据安全的痛点1、企业缺少清晰的数据安全意识各部门重视度不够,缺少主动数据安全管控意识。数据安全管控架构不清晰,职责划分不明确。对数据安全管控认识不全面、不深刻。工作人员对于所持有的数据缺乏概念,导致数据的价值无法评估。2、企业缺少科学的数据安全实施路径数据安全管控投入资源不足、开展晚,回报周期长。缺少统一、完整的数据安全管控标准体系建设。既有系统改造困难,存量数据难治理。海量的结构化、非结构化、半结构化等多种形式的数据存在模式,难以梳理。3。原创 2023-09-17 13:47:01 · 2572 阅读 · 0 评论 -
DH秘钥交换协议
引言有这样一个事,在以前通信、交通都不是很方便的时候,一个地主A要给B传输一个秘密,但相隔还有点点远,所以A把秘密写在了纸上,把纸装在了一个箱子里面,找了龙门镖局帮忙运输,但现在A不能一路跟上,所以怕镖局的人中间把箱子打开,所以就给箱子加了个锁(这儿假设箱子和锁在没有钥匙的情况下是打不开的),老谋深算的地主A认定镖局是不可信的,可能去偷看,所以不可能把钥匙交个他们,那么这种情况下,要怎么才能保证运输中的安全性呢?且运到后B是可以正常去查看消息的。他们是这样做的,地主A先上一把锁,让镖局的把箱子运往B,叫原创 2022-04-26 10:27:00 · 4503 阅读 · 0 评论 -
差分隐私理论入门科普
在基于隐私保护的数据发布研究中,主要考虑两个因素:1)隐私的保护性,即确保数据不会造成隐私泄漏;2)数据的有效性,即数据隐私保护后数据仍具有效用,在后续数据挖掘等工作中仍然具有较高的精确度差分隐私主要分为4类,本地化差分隐私、中心化差分隐私、分布式差分隐私和混差分隐私。1、本地化差分隐私(ε-LDP)在本地化差分隐私中,一个统计数据库的查询结果不会受到任何单一隐私数据的影响,它能在确保处理后统计信息可用的需原创 2021-03-16 15:05:41 · 3609 阅读 · 1 评论 -
SM系列国密算法
** 众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域中,期待有一天会有采用国密算法的区块链应用出现。其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用;比较少人了解这些算法,在这里对这些国密算法做简单的科普 **1原创 2021-02-03 17:38:56 · 2719 阅读 · 0 评论 -
Schnorr签名java实现
Schnorr签名(模指数)的实现java以下就是对上面算法的java实现注:如果需要完整一点的代码,可以在下面留下邮箱,我发送。和ElGama数字签名一样,Schnorr数字签名方案也是基于离散对数。Schnorr数字签名主要工作不依赖于消息,生成签名过程与消息相关的部分需要进行2n位长度的整数与n位长度的整数相乘。算法参数分析该方案基于素数模p,且p-1包含大素数因子q,即 p-1≡0(mod q), p一般大约取 p=2^1024, q一般大约取 q=2^160,p是1024位整数,q是16原创 2020-06-18 12:32:44 · 2442 阅读 · 200 评论 -
数据库水印算法(方案一)
数据库水印,解决方案一1、可行性说明 在调研中以及平时所见的数据表中得出一个规律:表与表的主外键关联,很多时候并不是有效数据,而是辅助的数据;还有就是有数据库访问权限的人很少,对没个层级来说,可使用数据的用户(直接访问数据库的用户)是少量的。 基于上述规律,在不改变表间数据参照关系的前提下,将主外键进行变更,然后在生成的主外键上施加一定的隐含规则作为嵌入的水印信息,以此来保留数据的原始状态。一旦数据泄露,就可以通过提取的水印来追踪数据泄露的源头。该方案不仅可以在静态数据集上实施,也能在一定程度上支原创 2020-05-15 10:15:36 · 7469 阅读 · 15 评论 -
informix数据库查询decimal精度问题
在数据库中使用decimal(m,n)时大家都知道表示这个可以存总长为m个长度的十进制数,小数部分为n个长度。但当我们需要进行异库数据迁移时,就需要原封不动的把表结构一并移植过去。 在oracle、db2等中,我们查询表结构时,对应字段类型为decimal时,都对应一个精度,长度。 例如: decimal(10,5)对应长度为10,精度为5。 但在informix下就不起作用了,如下图:建表时...原创 2019-11-11 16:02:12 · 2605 阅读 · 9 评论 -
java前后端加密通信 / AES / DES等算法
1. 加密解密1.1 前端js加密概述对系统安全性要求比较高,那么需要选择https协议来传输数据。当然很多情况下一般的web网站,如果安全要求不是很高的话,用http协议就可以了。在这种情况下,密码的明文传输显然是不合适的,因为如果请求在传输过程中被截了,就可以直接拿明文密码登录网站了。 HTTPS(443)在HTTP(80)的基础上加入了SSL(Secure Sockets ...原创 2019-10-25 16:39:50 · 2412 阅读 · 1 评论 -
java 逆序打印字符串之递归实现
java使用递归的方法,逆序打印出字符串。 if(str==null || str.trim().length()<0) { return "error"; } if(str.trim().length()==1 || str.trim().length()==0) { return str; } char head=str.charAt(0); char...原创 2019-09-29 14:24:42 · 883 阅读 · 0 评论 -
N个人围成一个圈子,从1开始报数,报到m的人出列,以此类推,求出列顺序
使用数组的实现:class TestDemo { @Test void test() { TestDemo t=new TestDemo(); System.out.println(t.getDemo(5,3)); } public List<Integer> getDemo(int number,int step){ List<Integer> ...原创 2019-08-09 16:12:04 · 1019 阅读 · 0 评论 -
DB2、Oracle、SqlServer、Mysql下查看外键以及外键关联的表和表字段
DB2、Oracle、SqlServer、Mysql四种数据库中,查看表的外键信息,以及外键关联的表及表字段的语句。输出的格式一样,所以之截图了一个, 有多个外键会返回所有的外键值。Oralce :select c.table_name,c.constraint_name,d.column_name,cl.table_name,cl.column_name from user_cons_...原创 2019-08-13 17:09:10 · 1487 阅读 · 0 评论 -
go 语言百钱百鸡代码实现
/*一只公鸡5文钱 cock一只母鸡3文钱 hen一文钱可以买3只小鸡 biddy现在有100文钱需要买总共100只鸡,可以怎么买 */func main01() { //百钱百鸡1 count := 0 //计数器 for cock := 0; cock <= 20; cock++ { for hen := 0; hen <= 33; ...原创 2018-12-25 14:47:10 · 340 阅读 · 1 评论 -
java 给定一个数组,统计数组中各个元素出现的次数
public static void Statistic(){ int arr[]={1,2,3,1,2,4,6,87,4,3,8,9,3,2,46,7}; Map<Integer, Integer> map=new HashMap<Integer, Integer>(); for (int i=0;i<arr.leng...原创 2018-12-25 17:32:16 · 22834 阅读 · 0 评论 -
基于paillier算法的同态加密电子匿名投票系统
(欢迎密码学的朋友,一起相互交流学习。 对不足之处进行指正!) 最近在学习同态加密算法,正好帮导师给xxxxxx做一个关于同态加密的电子投票系统的demo。 所以就把学到的东西分享出来,欢迎同道中人一起交流讨论。 什么是同态加密呢? 定义:同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,...原创 2019-01-16 17:15:46 · 7508 阅读 · 67 评论 -
编程测试题 代码题 二叉树的四种遍历,非递归实现
2019阿里巴巴编程测试题(在线和手写,记事本写)~~要求:给定一个字符串,按照给定的字节数要求输出,如: str="ABCDEF", 输出4个字节,则为: ABCD.如: str="哈ABCDEF",输出4个字节,则应为 “哈AB”。我写的代码是这样的:@Test public void test1() { String str="哈abcdf...原创 2019-04-11 11:33:16 · 452 阅读 · 0 评论 -
算法编程题
2019京东春季校招笔试测试题二/*题目:* 根据输入的要求输出值:* 第一行输入一个整数:m* 接下来m行输入m个字符串* 最后一行输入一个较长的字符串(长度小于10000),* 要求:* 求出最后一个长串的子串,且它的子串是m个字符串中某个或者全部字符串的子串的个数* 《子串不能有交叉;(如: aabbc 的字串: a b c )...原创 2019-04-13 21:51:29 · 557 阅读 · 5 评论 -
HashMap中,初始化设置长度时,容量自动转成2的幂次长度的算法剖析
简单介绍了一下HashMap的扩容机制。默认情况下HashMap的容量是16,但是,如果用户通过构造函数指定了一个数字作为容量,那么Hash会选择大于该数字的第一个2的幂作为容量。(3->4、7->8、9->16)我们来深入学习下,到底应不应该设置HashMap的默认容量?如果真的要设置HashMap的初始容量,我们应该设置多少?为什么要设置HashMap的初始化容量《阿...翻译 2019-07-14 11:11:34 · 1623 阅读 · 0 评论 -
手动实现 Spring 框架
文档: https://gper.club/articles/7e7e7f7ff0g52gce配套视频:链接:https://pan.baidu.com/s/18xoVAF1ZXLOQI6Ni-5n9Iw 密码:ve0n原创 2019-07-15 17:00:02 · 425 阅读 · 0 评论 -
java 手动实现一个 int 型数求绝对值函数
在java的数字运算中,我们一般会去考虑的运算的效率问题,所以尽可能的使用位移运算,因为位移运算效率高。下面分享一个就int型数绝对值的代码,其他的可以类似借鉴这个。先上代码: public int getAbsolute(int para){ return para*(1-((para>>>31)<<1)); }...原创 2019-07-18 22:25:07 · 3180 阅读 · 1 评论