Posted on 2010-04-05 21:41
asdtiang 阅读(339)
评论(0) 编辑 收藏
项目需求不多说了,直接上正题吧。写点查找时间久一点的
groovy 加解密:
import java.security.*
import javax.crypto.*
import javax.crypto.spec.*
class DESCodec {
static encode = { String target ->
def cipher = getCipher(Cipher.ENCRYPT_MODE)
return cipher.doFinal(target.bytes).encodeBase64()
}
static decode = { String target ->
def cipher = getCipher(Cipher.DECRYPT_MODE)
return new String(cipher.doFinal(target.decodeBase64()))
}
private static getCipher(mode) {
def keySpec = new DESKeySpec(getPassword())
def cipher = Cipher.getInstance("DES")
def keyFactory = SecretKeyFactory.getInstance("DES")
cipher.init(mode, keyFactory.generateSecret(keySpec))
return cipher
}
private static getPassword() { "secret12".getBytes("UTF-8") }
static void main(args) {
def strmi=encode("asdtiang")
//println decode("asdtiang")
//DESCodec.decode strmi
println decode("${strmi}")////这个地主一定要这样写,由于理论不深入,具体为什么还不明白,写成strmi 是不正确的。
///或者写成strmi.toString()也行,不过还没实践过。
}
}
配置文件的读写:
import org.asdtiang.util.DESCodec;
class Config{
static void main(args){
def config = new ConfigSlurper("configure").parse(new File('Configure.groovy').toURL())
config.admin.admin=DESCodec.encode("asdtiang").toString()/////这个地方写回的时候一定要有toString
////要不然生成的是admin=加密后的字符 少了双引号,这样再一次读取的时候就会报错。
///正常的应该是 admin="加密后的字符"
config.admin.password=DESCodec.encode("${config.admin.password}").toString()
config.database.ip=DESCodec.encode("${config.database.ip}").toString()
config.database.port=DESCodec.encode("1297").toString()
config.database.user=DESCodec.encode("sa").toString()
config.database.pw=DESCodec.encode("asdtiang").toString()
config.database.databaseName=DESCodec.encode("wx2008db").toString()
config.writeTo(new FileWriter('Configure.groovy'))///配置文件写回
println config.admin.admin
println DESCodec.decode("${config.admin.admin}")
}
}
数据库操作就不用写了,网上一搜就有了。
groovy中文件追加和日期格式化:()
new File("record.txt").append(new Date().format('yyyy-MM-dd'))
临睡前,写点感想吧:
GROOVY和JAVA结合(主要是对GROOVY还是很会),简直是太帅了,GROOVY写起来代码少,JAVA的强大,GROOVY学习个人感觉还是应该以官方为主,很多在国内查不出来,或者写的不够深入,其实文档还是比较好的,COPY过来都能用,还有就是多查查API帮助文档,里面有很多方法,以前用JAVA好多代码能搞定的事,到这里来一个闭包就OK了。
groovy没有强制捕获异常,不过有些地主还是要捕获一下,比如说,数据库连接。
现在用着groovy感觉挺好,准备用GRAILS做一个网站呢。不过就是还不是很会,程序里有JAVA代码,也有GROOVY代码。
天苍苍,野茫茫,风吹草底见牛羊