MD5加密调用 数据库藏加密数据
MD5加密调用 数据库存加密数据
编写一个Java程序,利用Swing、IO流、JDBC技术完成一个注册、登录功能。
要求:
1. 注册时要上传用户照片。
2. 照片大小小于1M的将其保存到数据库中,超过1M的保存到磁盘文件中。
3. 必须对用户密码进行加密。
4. 登录时必须查询数据库对用户名及其加密后的密码进行验证。
5. 登录成功后显示用户名、密码、用户所上传的照片。
半成品 开发速度太垃圾了
操作系统:win98
编程工具:VB5.0
用vb中的picture控件的line在picture控件中绘制完图形后,把图形放在和该控件相连接的ACCESS数据库中的一个字段中(字段定义类型为OLE),这样做数据库所占用磁盘空间很大,不知怎样做,才能使其占用很小的存储空间。
回答:
把图形放在Access数据库中会使文件尺寸增加不少。你可以只在数据库中保存文件名,而将图片放在单独的目录中,每次从磁盘中动态读入,这样占的地方比较少。
另外,你可以把BMP格式转换为GIF或JPEG格式。参考:QA000398 "如何在VB中编程使.bmp文件转换为.gif或.jpg文件"
编写一个Java程序,利用Swing、IO流、JDBC技术完成一个注册、登录功能。
要求:
1. 注册时要上传用户照片。
2. 照片大小小于1M的将其保存到数据库中,超过1M的保存到磁盘文件中。
3. 必须对用户密码进行加密。
4. 登录时必须查询数据库对用户名及其加密后的密码进行验证。
5. 登录成功后显示用户名、密码、用户所上传的照片。
半成品 开发速度太垃圾了
操作系统:win98
编程工具:VB5.0
用vb中的picture控件的line在picture控件中绘制完图形后,把图形放在和该控件相连接的ACCESS数据库中的一个字段中(字段定义类型为OLE),这样做数据库所占用磁盘空间很大,不知怎样做,才能使其占用很小的存储空间。
回答:
把图形放在Access数据库中会使文件尺寸增加不少。你可以只在数据库中保存文件名,而将图片放在单独的目录中,每次从磁盘中动态读入,这样占的地方比较少。
另外,你可以把BMP格式转换为GIF或JPEG格式。参考:QA000398 "如何在VB中编程使.bmp文件转换为.gif或.jpg文件"
//数据库MD5加密 package MD5CopePassWord; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; public class MD5Encrypt { //随机值(12位,由系统产生) 加盐 //原码(123) //密码 //随机值 + 密码 (保存到数据库) public static byte[] doEncrypt(String password) throws NoSuchAlgorithmException, UnsupportedEncodingException { SecureRandom random = new SecureRandom(); byte[] salt = new byte[12]; byte[] encryptPassword = null; random.nextBytes(salt); for(byte b : salt){ System.out.print(b + "\t"); } System.out.println(); MessageDigest messageDigest = MessageDigest.getInstance("MD5"); messageDigest.update(salt); //追加 messageDigest.update(password.getBytes()); byte[] digest = messageDigest.digest(); encryptPassword = new byte[digest.length + 12]; System.arraycopy(salt, 0, encryptPassword, 0, 12); System.arraycopy(digest, 0, encryptPassword, 12, digest.length); System.out.println(encryptPassword.length); for(byte b : encryptPassword){ System.out.print(b + "\t"); } return encryptPassword; } }