項目需求不多說了,直接上正題吧。寫點查找時間久一點的
groovy 加解密:
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代碼。
天蒼蒼,野茫茫,風吹草底見牛羊
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 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}")
}
}
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代碼。
天蒼蒼,野茫茫,風吹草底見牛羊