前端html源码可以不暴露接口吗为什么

前端html源码可以不暴露接口吗为什么,第1张

php将密码存入数据库,可以分内常见的4种方式:

1、直接md5加密存到到数据库

2、md5两次存到数据库

3、对需要加密的字符串和一个常量 进行混淆加密

4、生成一个随机的变量存到数据库中,然后对需要加密的字符串和这个随机变量加密

<php

$str="admin"; //需要加密的字符串

$str2="php";  //增加一个常量混淆 

$pass1=md5($str);

$pass2=md5(md5($str));

$pass3=md5($str$str2);

echo $pass1"<br>"$pass2"<br>"$pass3;

>

输出:

第四种

$str="admin"; //需要加密的字符串

$encrypt=$row['encrypt']; // 生成的 随机加密字符串 存到数据库中

$pass4=md5($str$encrypt);

//  8db2ec7e9636f124e56f7eb4d7b7cc7e

1读取ini文件键值对的类,这样写

class ConfigureFile

{

public string ConfigureFilePath; //INI文件名

//声明读写INI文件的API函数

[DllImport("kernel32")]

private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

[DllImport("kernel32")]

private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

public ConfigureFile()

{

//

// TODO: 在此处添加构造函数逻辑

//

}

//类的构造函数,传递INI文件名

public ConfigureFile(string ConfigureFilePath)

{

thisConfigureFilePath = ConfigureFilePath;

}

//写INI文件

public void WriteConfigureFileValue(string Section, string Key, string Value)

{

WritePrivateProfileString(Section, Key, Value, thisConfigureFilePath);

}

//读取INI文件指定

public string ReadConfigureFileValue(string Section, string Key)

{

StringBuilder temp = new StringBuilder(255);

int i = GetPrivateProfileString(Section, Key, "", temp, 255, thisConfigureFilePath);

ConsoleWrite(tempToString());

if (tempToString() == null ||tempToString() =="")

{

throw new Exception("Profileini读取配置文件为空");

}

return tempToString();

}

}

2处理读取的键值对这样写

/// <summary>

/// 返回Profileini配置参数

/// </summary>

public class Profile

{

private static ConfigureFile ReadConfigureFile = new ConfigureFile("\\Profileini");

/// <summary>

/// 返回数据库服务名

/// </summary>

/// <returns></returns>

public static string getServerName()

{

//对于你的问题 这个返回值就是nor 在ini文件里就是ServerName=nor

return ReadConfigureFileReadConfigureFileValue("DataBase", "ServerName");

}

/// <summary>

/// 返回登陆账户

/// </summary>

/// <returns></returns>

public static string getLogId()

{

//对于你的问题 返回值就是 sa 在ini里就是LogId=sa

return ReadConfigureFileReadConfigureFileValue("DataBase", "LogId");

}

/// <summary>

/// 返回登陆密码

/// </summary>

/// <returns></returns>

public static string getPassWord()

{

//对于你的问题返回值就是 在ini里就是PassWord=(是加密后的密码 密文形式)

return ReadConfigureFileReadConfigureFileValue("DataBase", "PassWord");

}

}

我把读ini文件 和读取ini文件中的key/value对分开写 这样是为了让你能更灵活的去添加ini中的key/value对 当你添加keyvalue对时 只需要在Profile类中添加相应的get方法就可以了 方便修改

ini文件中的键值对写成这样

[DATABASE]

ServerName='nor'

LogId='sa'

PassWord=''(是密文形式)

3这是加密你密码的类 我用MD5配合加盐值进行加密 这样就很安全

public class MD5Encrypt

{

/// <summary>

/// 将明文用MD5加密

/// </summary>

/// <param name="strPwd">需要加密的明文</param>

/// <param name="strKey">用于加密的Key(加盐值)</param>

/// <returns>加密后得到的MD5值</returns>

public static string ToEncodingByMD5(string strPwd, string strKey)

{

string key = strKeyTrim();

string strEnPwd = stringEmpty;

if (keyLength == 0)

{

key = "lwk";//默认加盐值 你自己定义加盐值,要验证登录密码是否正确 需要传进和保存其加密时 //相同的加盐值 然后对比他们的密文是不是相同

}

byte[] Original = EncodingDefaultGetBytes(strPwd);

byte[] SaltValue = EncodingDefaultGetBytes(key);

byte[] ToKey = new byte[OriginalLength + SaltValueLength];

OriginalCopyTo(ToKey, 0);

SaltValueCopyTo(ToKey, OriginalLength);

MD5 st = MD5Create();

byte[] SaltPWD = stComputeHash(ToKey);

byte[] PWD = new byte[SaltPWDLength + SaltValueLength];

SaltPWDCopyTo(PWD, 0);

SaltValueCopyTo(PWD, SaltPWDLength);

strEnPwd = ConvertToBase64String(PWD);

return strEnPwd;

}

}

以上就是关于前端html源码可以不暴露接口吗为什么全部的内容,包括:前端html源码可以不暴露接口吗为什么、参加安全信息部门面试的技巧、各位用php将密码存入数据库,都用什么方法进行加密的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/9539781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存