一个比较牛的加密算法

本文介绍了一种基于随机数生成的加密算法实现原理及步骤。该算法通过使用当前时间戳生成随机数并结合字符串ASCII码值进行加密处理,使得每次加密结果各不相同,但解密后内容一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个加密算法 据说此加密算法每次加密的结果都不同,但解密的结果相同 using System; namespace test001 { /** 对sSource,进行加密、解密操作。 @param sSource String :操作的字符串 @param iFlag int :操作类型 1-加密 2-解密 @return String :加密或解密后的字符串 **/ public class password { public password() { } public static string pWord(string sSource,int iFlag) { if(sSource==null) return null; if(sSource.Equals("")) return ""; int li_len,i,li_asc,li_rand,li_head; string ls_i,ls_code=""; if(iFlag ==1) { li_len=sSource.Length; Random rdm1 = new Random(~unchecked((int)DateTime.Now.Ticks)); li_head=(int)(rdm1.NextDouble()*10); if(li_head ==0) li_head =1; for(i=0; i126) { if(li_rand%2 ==1) li_rand=li_rand+1; ls_i=((char)(li_rand)).ToString()+((char)(li_asc -i -li_head)).ToString(); } else { if(li_rand%2 ==0) li_rand=li_rand+1; ls_i=((char)(li_rand)).ToString()+((char)(li_asc +i +li_head)).ToString(); } ls_code=ls_code+ls_i; } Random rdm3 = new Random(~unchecked((int)DateTime.Now.Ticks)); int rand1 =(int)(rdm3.NextDouble()*9); if(rand1 ==0) rand1 =1; ls_code=((char)(rand1*10+li_head+40)).ToString()+ls_code; } else { int li_ret; li_len=sSource.Length; ls_code=""; li_ret=Convert.ToInt32(sSource.ToCharArray(0,1)[0]) %10; for( i=2;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值