MD5k怎样设置密文解密

请教下华为交换机密文怎样转化为明文?_电脑网络问题_土巴兔问吧
请教下华为交换机密文怎样转化为明文?
报价结果将发送到您的手机
装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
报价短信已发送到您的手机
因材料品牌及工程量不同,具体报价以量房实测为准
稍候装修管家将回电您,免费提供装修咨询服务
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
3.&您家小区名称 :&&
请选择您家的装修时间
请教下华为交换机密文怎样转化为明文?
提问者:殷书文|
浏览:173|
时间: 14:12:28
已有1条***
回答数:133952|被采纳数:52
所有回答:&133952
以思科的交换机为例明文密码就是设置后通过特权模式下的 &&SHOW &&RUN &&命令可以看到原型的密码,即你设置了一个ABC的密码,那么在 &&SHOW &&RUN &&时可以在信息列表中看到你设置的ABC。这样有不安全的因素,因为如果你在操作交换机时因故要离开一小段时间,在场的其中一人恰巧也会交换机的命令,那么很简单的就可以把你的密码给盗了。如果我们给交换机设置一个密文密码,设置完密文密码后,SHOW &&RUN &&显示的是一个字符串,就是我们输入密码的 &&MD5 &&值。如果密码忘了就很难找回,如果位数较短可以到一个cmd5的网站去查你的md5值代表的密码,超过12位基本没救,只能恢复一次
希望我的回答能帮到您
已有 3 个回答
已有 3 个回答
已有 1 个回答
已有 3 个回答
已有 3 个回答
位业主已在问吧找到***
北欧简约、复古美式、大气欧式、清新地中海风,总有一款适合你!
一万套装修案例
下载土巴兔APP
中国装修网关于MD5加密同一个字符串调用方式不同,返回密文不同。见鬼啦!!!!!
这是MAIN方法请求调用加密方法返回的密文是:c4e479cfc417f1dfcd1bf
public static void main(String[] args) {
String name = &深圳市&;
String password = &963963&;
String md5Value = MyUtils.getMD5(name+&#&+password);
System.out.println(md5Value);
这是前端请求Action调用加密方法返回的密文是:274ff6824a5efe75314cdc&
public ActionForward test1(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String name = &深圳市&;
String password = &963963&;
String md5Value = MyUtils.getMD5(name+&#&+password);
System.out.println(md5Value);
这是md5加密方法:
public static String getMD5(String x) {
String s =
char hexDigits[] = {
// 用来将字节转换成 16 进制表示的字符
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f'};
java.security.MessageDigest md = java.security.MessageDigest.getInstance( &MD5& );
md.update( x.getBytes() );
byte tmp[] = md.digest();
// MD5 的计算结果是一个 128 位的长整数,
// 用字节表示就是 16 个字节
char str[] = new char[16 * 2];
// 每个字节用 16 进制表示的话,使用两个字符,
// 所以表示成 16 进制需要 32 个字符
int k = 0;
// 表示转换结果中对应的字符位置
for (int i = 0; i & 16; i++) {
// 从第一个字节开始,对 MD5 的每一个字节
// 转换成 16 进制字符的转换
byte byte0 = tmp[i];
// 取第 i 个字节
str[k++] = hexDigits[byte0 &&& 4 & 0xf];
// 取字节中高 4 位的数字转换,
// &&& 为逻辑右移,将符号位一起右移
str[k++] = hexDigits[byte0 & 0xf];
// 取字节中低 4 位的数字转换
s = new String(str);
// 换后的结果转换为字符串
}catch( Exception e )
e.printStackTrace();
中文的字符一直都有问题,如果是单纯的数字字符没有问题。求救呀!
需要制定为“utf-8”编码。md.update( x.getBytes(“utf-8”) );
兄弟,你这个问题怎么解决的呀,我今天也见鬼了。
引用来自“figer1”的*** 其实你两个结果都是对的,只不过一个是把字符串UTF8编码后的结果,&
因为中文已经不能转码了,可否把中文字符转byte数组类型,然后再转UTF-8就达到效果了?
其实你两个结果都是对的,只不过一个是把字符串UTF8编码后的结果,&
建议换个md5加密方法调用试试,比如Apache的加密
引用来自“jorneyr”的***去和网上的方法比较,如果你的结果不对,说明你的程序有错,不要问为什么。因为main方法执行的密文在网上是正确的。
去和网上的方法比较,如果你的结果不对,说明你的程序有错,不要问为什么。Android(23)
1.Objective-c 代码
#import &CommonCrypto/CommonDigest.h&
+ (NSString *) md5:(NSString *)oldString {
const char *cStr = [oldString UTF8String];
unsigned char result[16];
CC_MD5( cStr, strlen(cStr), result );
unsigned char str[32];
char hexDigits[]={'2','0','1','5','V','T','H','A','P','P','0','6','A','T','0','1'};
int k = 0;
for (int i = 0; i & 16; i++) {
Byte byte0 = result[i];
str[k++] = hexDigits[byte0&&4& 0xf];
str[k++] = hexDigits[byte0 & 0xf];
NSString *mdString =@&&;
for (int i=0; i&32; i++) {
mdString= [mdString stringByAppendingString:[NSString stringWithFormat:@&%c&,str[i]]];
return mdS
2.Java代码
public static String getEncryptedStr(String s) {
char hexDigits[]={'2','0','1','5','V','T','H','A','P','P','0','6','A','T','0','1'};
byte[] btInput = s.getBytes();
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance(&MD5&);
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i & i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 &&& 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
return new String(str);
} catch (Exception e) {
e.printStackTrace();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:106807次
积分:2947
积分:2947
排名:第11062名
原创:183篇
转载:29篇
评论:39条
(5)(1)(2)(1)(2)(1)(6)(1)(1)(1)(3)(8)(1)(6)(1)(4)(4)(7)(7)(18)(30)(105)

参考资料

 

随机推荐