哪个给我 加密后只有是大写字母和数字函数,谢谢!

xianxiliu 2005-06-03 12:43:17
串的内容各种东西都有

加密后要求:
1.加密后只有是大写字母和数字
2.要有对应的解密函数
谢谢!
...全文
2357 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sevenever 2005-06-27
  • 打赏
  • 举报
回复
//楼主自己设计一种编码方式吧,参考base64,你需要大写字母和数字总共可供编码的字符有26+10=36个,那么只能编码5个bit,那么就需要将编码前的5个字节编码为8个字节。其实考虑到算法的简单,可以只编码4个bit,那就是每个字节用两个字节编码,这样只需要使用大写字母而不用数字。比如 一个字节是'a' ASCII码为0x61,二进制为01100001,拆分为两个4bit为0110和0001,然后都加上'A',就编码成为了G和B。这一方式的缺点在于浪费空间太多,50%的存储空间被浪费了。
//一个C的编码代码
//**********************************************************
//函数: EncodeBaseA
// BaseA编码
//参数 a 未编码的字节 b 编码后的字节
// b 缓冲区长度必须大于等于a中字节数的2倍
// bufferLen a缓冲区中字节数
void EncodeBaseA(unsigned char * a,unsigned char * b,int bufferLen)
{
unsigned char * pA=a;
unsigned char * pB=b;
int i;

for(i=0;i<bufferLen;i++)
{
*pB++=((*pA)>>4)+65;
*pB++=((*pA++) & 0x0F)+65;
}

}
//**********************************************************
//函数: DecodeBaseA
// BaseA解码
//参数 a 未解码的字节 b 解码后的字节
// b 缓冲区长度必须大于等于a中字节数的1/2
// bufferLen a缓冲区中字节数如果是奇数,忽略最后一个字符
void DecodeBaseA(unsigned char * a,unsigned char * b,int bufferLen)
{
unsigned char * pA=a;
unsigned char * pB=b;
unsigned char t;
int i;
int len = bufferLen/2;

for(i=0;i<len;i++)
{
t = (*pA++ -65)<<4;
*pB++ = t | (*pA++-65);
}

}
yitiaoming2003 2005-06-21
  • 打赏
  • 举报
回复
using System;
using System.Web.Security;

namespace PasswordHashDemo
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
string pwd=Console.ReadLine();

string pwdMD5=FormsAuthentication.HashPasswordForStoringInConfigFile(pwd,"md5");
string pwdSHA1=FormsAuthentication.HashPasswordForStoringInConfigFile(pwd,"sha1");

Console.WriteLine(pwdMD5);
Console.WriteLine(pwdSHA1);

Console.ReadLine();
}
}
}
xianxiliu 2005-06-18
  • 打赏
  • 举报
回复
哪个给个例子,好不?
runrunrun 2005-06-18
  • 打赏
  • 举报
回复
JasonHeung(拥有一切也不过就这样笑着哭) ( ) 信誉:100
正解,base64就是生出来解决你这个问题的。


================================================

错,base64里有小写字母。楼主可以用其他的加密算法加密后再自己转成大写字母和数字的组合
chieftech 2005-06-16
  • 打赏
  • 举报
回复
回复: minersi(懒虫族之慵懒的猫猫) ( ) 信誉:100 2005-6-3 17:17:56 得分: 0



可以查查“安全哈希算法 1”(SHA1)

-------------------------------------------------------------
SHA1好像是单向的,寒~~!!!

sevenever 2005-06-16
  • 打赏
  • 举报
回复
JasonHeung(拥有一切也不过就这样笑着哭) ( ) 信誉:100
正解,base64就是生出来解决你这个问题的。
_-_-_-_- 2005-06-07
  • 打赏
  • 举报
回复
MD5加密?
BigIdiot628 2005-06-07
  • 打赏
  • 举报
回复
qcny 2005-06-04
  • 打赏
  • 举报
回复
可以自己写一个方法
bys_home 2005-06-03
  • 打赏
  • 举报
回复
自己写一个加密算法。呀!
AlphaGIS 2005-06-03
  • 打赏
  • 举报
回复
这麽简单的问题
. Net中所有的可加密解密的算法都可用
只要进行以下转换就可以了
只有是大写字母和数字=BitConverter.Tostring(加密后的字节数组)
别告数我不董将“只有是大写字母和数字”反转换为字节数组,然后进行解密

主要是BitConverter.Tostring这个转换,加密算法一模一样的
mba9001 2005-06-03
  • 打赏
  • 举报
回复
up
minersi 2005-06-03
  • 打赏
  • 举报
回复
可以查查“安全哈希算法 1”(SHA1)
JasonHeung 2005-06-03
  • 打赏
  • 举报
回复
用3Des加密后再转成Base64编码。
解密则倒过来。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧