一个利用随机数加密字串的算法

随机Alpha混合加密算法 本文提出一种基于Playfair密码的随机Alpha混合加密算法,通过动态生成密钥和引入随机性,使相同明文每次加密产生不同密文,有效抵御已知明文、选择密文、重放、暴力破解和中间人攻击,提升数据传输的机密性与安全性。 阅读详情

       首先这个算法没什么特殊之处,只是怕以后找不到,所以放到了这上面 

       每个字节加密后有6种结果(占两个字节,如果需要大于6种的话,就要多用1个字节,即占3 个字节),也就是说如果字串占n个字节的话,可能产生的结果为6的n次方个,这个算法破解的强度不大,大家可以完善一下:

'窗体上一个按钮,两个listbox
Option Explicit

Private Sub Command1_Click()
    Dim i As Long
    Dim s As String
    For i = 1 To 100
        s = encode("这是一个测试 hello world")
        List1.AddItem s
        s = decode(s)
        List2.AddItem s
    Next
End Sub
Private Function encode(ByVal s As String) As String '加密
    If Len(s) = 0 Then Exit Function
    Dim buff() As Byte
    buff = StrConv(s, vbFromUnicode)
    Dim i As Long
    Dim j As Byte
    Dim k As Byte, m As Byte
    Dim mstr As String
    mstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
    Dim outs As String
    i = UBound(buff) + 1
    outs = Space(2 * i)
    Dim temps As String
    For i = 0 To UBound(buff)
        Randomize Time
        j = CByte(5 * (Math.Rnd()) + 0) '最大产生的随机数只能是5,不能再大了,再大的话,就要多用一个字节
        buff(i) = buff(i) Xor j
        k = buff(i) Mod Len(mstr)
        m = buff(i) / Len(mstr)
        m = m * 2 ^ 3 + j
        temps = Mid(mstr, k + 1, 1) + Mid(mstr, m + 1, 1)
        Mid(outs, 2 * i + 1, 2) = temps
     Next
     encode = outs
End Function

Private Function decode(ByVal s As String) As String '解密
    On Error GoTo myERR
    Dim i As Long
    Dim j As Byte
    Dim k As Byte
    Dim m As Byte
    Dim mstr As String
    mstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
    Dim t1 As String, t2 As String
    Dim buff() As Byte
    Dim n As Long
    n = 0
    For i = 1 To Len(s) Step 2
        t1 = Mid(s, i, 1)
        t2 = Mid(s, i + 1, 1)
        k = InStr(1, mstr, t1) - 1
        m = InStr(1, mstr, t2) - 1
        j = m / 2 ^ 3
        m = m - j * 2 ^ 3
        ReDim Preserve buff(n)
        buff(n) = j * Len(mstr) + k
        buff(n) = buff(n) Xor m
        n = n + 1
     Next
     decode = StrConv(buff, vbUnicode)
     Exit Function
myERR:
     decode = ""
End Function

-随机数加密字符串- 我的密码加密,随机数加密,VIP密码私聊,欢迎下载,源代码在我的博客,2个积分不贵,欢迎指出问题修改。(该软件为我开发,已开源) 立即下载

相关推荐

精彩编程与编程技巧-用RND()函数加密...

精彩编程与编程技巧-用RND()函数加密 ...

如何给随机数加密

作者: 字体:[增加 减小] 类型:转载 时间:2013-03-07 我要评论 随机数加密的简单算法,需要的朋友可以参考一下 复制代码代码如下: // 随机数加密算法  A^B = C , A^C =B , B^C = A 异或加密  // Etual  2011-3-14  #include  // 7byte 数据 和 1byte ke

fcsfcsfcs的博客 1602

赴美参加学术会议办理流程

有幸能在研究生阶段获得学校资助出国参加学术会议,首先要感谢学校的支持,以及学院和实验室的各位老师~ 接下来说下参会整个准备过程: 本人在接到论文录用通知后,就开始办理相关手续。因为会议地点是美国夏威夷,而且录用通知时间与会议召开时间只隔两个月左右,所以接下来两个月时间要办好学校出国申请手续,赴美签证,因为专业原因,据说签证不好办,所以时间比较紧。学校出国申请和签证相关材料是并行进行的,赴美花费...

xingxin_xu的博客 3195

基础密码学入门:随机数、hash算法、对称加密算法

SHA-3算法并不是为了取代SHA-2算法,而是一种在设计上和SHA-2完全不同的算法,主要有四种算法,分别是SHA3-256、SHA3-512、SHA3-224、SHA3-384,输出的长度分别是256比特、512比特、224比特、384比特。SHA-2算法是目前建议使用的Hash算法,截至目前是安全的,主要有四种算法,分别是SHA-256、SHA-512、SHA-224、SHA-384,输出的长度分别是256比特、512比特、224比特、384比特。,随机数算法会生成一样的随机数,只是时间长短的问题。

usstmiracle的博客 1038

深入解析mSATA与mini-PCIE接口的硬件设计要点

本文深入解析mSATA与mini-PCIE接口的硬件设计要点,涵盖信号定义、电源设计、高速信号处理及PCB布局布线等关键内容。通过实战案例和调试技巧,帮助工程师规避常见设计陷阱,提升电路设计效率,特别适合工业控制和嵌入式系统开发场景。

weixin_28741413的博客 316

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1630

随机数加密算法的解密算法

1.   解密程序分析       解密程序就是利用加密密钥把加密的文档即秘文用密钥恢复成原来的文档。算法实现的原理就是用密钥把秘文文档重新编号,然后按密钥的排序结果输出秘文,就可以得到原加密的文档,也就达到了解密的目的。2.   解密算法实现#include "mpi.h"#include #include #include #include #include

wjk的专栏 3003

人大金仓数据库Kingbase FlySync同步程序安装

Kingbase FlySync同步程序(以下简称 KFS)是面向异地容灾、数据集中共享的场景推出的具备在异构数据平台间实现实时、增量数据同步的工具类产品,主要采用了物理日志解析技术,帮助用户解决不同数据平台的数据间可实现任意方向实时移动流转的问题,并保证此过程中数据不丢失,状态可监控,流转数据量可统计。KFS 需要安装的主要组件有 2 个,分别是后端同步程序和管理控制平台,另外KFS的部署方式也有2种,为分离部署何集中部署•集中部署:KFS与数据库部署在同一机器上。

weixin_44312518的博客 1179

最全加密算法(知识点梳理)

最全加密算法(软考网工常见):包括对称秘钥,非对称秘钥,数字签名,数字证书,秘钥管理体系,kerberous,以及ssl等安全协议

weixin_69884785的博客 1万+

如何学习总线技术

如何学习总线技术 以形象生动的比喻来描绘了总线技术的基本思想,指出了总线的基本分类和总线传输的基本原理,以及在学习过程中应当掌握的最基本的知识,对初学者有起到抛砖引入的作用。 0引言   如果一座只能容一个人来往的独木桥,两端的人都想要过桥,为了不拥挤、阻塞,那我们就得采取有效的办法。比如规定某段时间哪端的人过桥,另一端的人就等着该他过桥的时间段的到来,同时也还可以规定人多时要按先来后到或年

ce123的技术博客 8527

【Bluedroid】AVRCP 连接源码分析(一)

AVRCP连接源码分析流程是一个涉及多个步骤和协议交互的复杂过程。在源码中,需要仔细处理各种连接状态和协议交互,以确保AVRCP连接的稳定性和可靠性。同时,还需要根据具体的应用场景和需求,对AVRCP命令和响应进行定制化处理。

byte轻骑兵的技术小窝 3315

利用随机数加密字串的算法

首先这个算法没什么特殊之处,只是怕以后找不到,所以放到了这上面.   每个字节加密后有6种结果(占两个字节,如果需要大于6种的话,就要多用1个字节,即占3 个字节),也就是说如果字串占n个字节的话,可能产生的结果为6的n次方个,这个算法破解的强度不大,大家可以完善一下:  窗体上一个按钮,两个listbox  Option Explicit  Private Sub Command1_C

易吉的Blog 1327

车辆网络安全ISO/SAE 21434解读(一)概述

ISO/SAE 21434 《道路车辆 网络安全工程》是SAE和ISO共同制定的一项针对道路车辆的网络安全标准,它是一个面向汽车行业全供应链(OEM及各级供应商)的车辆网络安全管理指导文件

xiaoxiabang的博客 8424

C#生成随机数

http://kb.cnblogs.com/zt/beginner/ C#怎么生成随机数据串?   比如“123456789" (9位)  还有怎么随机生成“0”或“1”字符?   生成9位     Random   a=new   Random();     string   tempRandom="";     for(int   i=0;i        {          

rose001的专栏 2271

国科大《人工智能原理与算法》2021年期末试题+2024经验(2025指南)

2021年期末试题+24年复习指南

MatsumotoChrikk 2926

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

加密算法初步学习

最近由于工作需要接触了一些加解密应用,此过程中学习了des3、aes加解密算法和消息摘要算法MD5。 3des 百科介绍 http://baike.baidu.com/view/350958.htm 3DES加密过程为:C=Ek3(Dk2(Ek1(P))) 3DES解密过程为:P=Dk1(EK2(Dk3(C))) 区别于进行与简单的3次des加密和解密。 aes

Nature_cworkplace的专栏 1936

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

安利一个加密算法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34101229的博客 179

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用date产生随即数字串或字符串

–=使用date产生随即数字串或字符串=== %s为秒 %N为纳秒,这样就避免了重复 [root@nezhdb01 tmp]# cat lbw.sh #!/bin/bash n=$(date +%s%N) echo $n echo $n |wc -m [root@nezhdb01 tmp]# ./lbw.sh 1563637164657358637 20 [root@nezhdb01 tmp]#...

weixin_40908896的博客 353

短信发送AZDG加密算法

Username:用户名,采用AZDG加密方式进行加密 Passwrod:密码,采用AZDG加密方式进行加密 密钥为:chinagdn /// <summary> /// 短信发送AZDG加密算法 /// </summary> /// <param name="txt">加密字符串</para...

weixin_34324081的博客 454

加密算法与数字签名

为什么需要数字签名:因为信息时代,习惯在网络上交流,而网络上的消息很容易被别有用心的人伪造,窃取,篡改。数字签名:是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。(将信息类比与人,那么数字签名的作用就类似于身份证。用于对消息的发送者身份及内容的确认)所以数字签名有两个作用,一个是对消息发送者身份的确认 二是对消息内容未被篡改的确认。假设有三个人 Bob和Lisa是一对恋人,而Doug是想要破坏他们情感的黑客。不使用数字签名的情况Bob向L

qq_45756062的博客 1631

Discuz通行证的加密算法

discuz通行证用对称密钥的加密,基于任何一数与结果异或必然得到另一个数,所以是一个可逆的算法,使用密钥的每位轮回加密数据的每位.[@more@]passport_encrypt函数使用时随机数来加密,然后把密钥放在密文的前面...

cixianba5765的博客 138

php对称算法_PHP简单对称加密算法之加密、简单对称加密算法之解密,以及简单的混淆加密。...

PHP简单对称加密算法之加密、简单对称加密算法之解密,以及简单的混淆加密。平时我们使用的PHP加密方法都是一些不可逆的加密函数为:md5()、sha1()、crypt()等。md5() 用来计算 MD5 哈稀。语法为:md5();crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。可逆转的加密有:base64_encode()、urlencode()...

weixin_39999209的博客 327

PHP加密解密

/** 加密 @key:ytwllanjing //自定义解密时传入 @txt: //要加密的数据 / function passport_encrypt($txt, $key){ // 使用随机数发生器产生 0~64000 的值并 MD5() $encrypt_key = md5(rand(0, 64000)); // 变量初始化 $ctr = 0; tmp=′′;//for循环,tmp = ''; // for 循环,tmp=′′;//for循环,i 为从 0 开始,到小于 txt字串长度的整数fo

靳某某 153
上一篇: 关于定时关闭询问对话框的一点体会
下一篇: Crypto—一个类模块(转贴)
rainstormmaster
博客等级 码龄24年 603粉丝 12原创
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值