愤怒的大鸟 发表于 2015-1-16 22:26:28

MYSQL编程:找回忘了的暗码的道理

“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的MySQL学习教程可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。在Access数据库中,为了平安起见,能够为所建的数据库设置暗码。可是,暗码忘了怎样办?别急,这里先容一种找回暗码的办法。
  用Access所建的数据库,在库文件的地点00000042处入手下手的13个字节是Access库的暗码位。假如一个未加密的库,这13个字节原始数据顺次为:86FB375D449CFAC628E613。现实上,当你设置了暗码后,Access就将你的暗码(请注重你所输出的暗码是本笔墨符)的ACSII码与以上的13个字节数据举行异或操纵,因而,从库文件的地点00000042入手下手的13个字节就酿成了密钥了。比方,假如你设置的暗码为abc,经由异或操纵后,则从00000042处入手下手的13个字节的数据酿成了E7998F375D449CFAC628E613。一个数据经由一次异或操纵后,再一次经由一样的异或操纵便可复原了。因而,对已设置了暗码的Access库,只需将13个密钥数据与原始的13个数据举行一次异或操纵便可失掉暗码了。
  以下是一个C言语的破解程序:
  /*假定加密后的Access库为myacc.mdb,并寄存在C盘的根目次下*/
  #include″stdio.h″
  main()
  {FILE*fp
  charmm0={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};
  /*这是13个原始数据*/
  charmml,mm2;
  /*mm1用来寄存加密后的13个密钥;mm2用来寄存暗码*/
  inti,k;
  fp=fopen(″c:myacc.mdb″,″rb″);
  if(fp=NULL){
  printf(″
不克不及翻开该库!″);
  exit(0);}
  rewind(fp);fseek(fp,0x42L,0);
  fread(mm1,13,1,fp);/*读取密钥*/
  for(i=0;i<13;i++){
  mm2=mm0^mm;*/原始数据与密钥异或*/
  else
  break;}
  k=1;fclose(fp);
  if(k=0)
  printf(″未设暗码!″);
  else{printf(″
暗码是:
″);
  for(i=0;ibr>  printf(″%c,mm2″);}}
  特地提一句,Access库设置暗码时,固然同意输出最多14个暗码字符,但只要前13个无效。即使对于MySQL的商业化的企业版来说,也没有高昂的许可证成本,当你将其与像甲骨文和微软之类的大型专有商业数据库比较的话。

小女巫 发表于 2015-1-19 12:17:07

原来公司用过MYSQL自己也只是建个表写个SQL

第二个灵魂 发表于 2015-1-25 16:41:56

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

山那边是海 发表于 2015-2-3 11:12:08

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

活着的死人 发表于 2015-2-8 20:28:01

是要和操作系统进行Socket通讯的场景。否则建议慎重!

蒙在股里 发表于 2015-2-26 05:04:57

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

冷月葬花魂 发表于 2015-3-8 12:10:57

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

海妖 发表于 2015-3-15 22:58:33

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

飘飘悠悠 发表于 2015-3-22 17:42:49

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
页: [1]
查看完整版本: MYSQL编程:找回忘了的暗码的道理